为了一个学校项目,我需要制作一个简单的绘图应用程序,可以绘制直线、椭圆和矩形。
该任务规定我需要为每种类型的形状提供工具栏按钮和菜单项。
我想做得更好一些,通过将按钮设置为工具栏中的JToggleButtons,将菜单项设置为JRadioButtonMenuItems。此外,当您选择其中一个工具栏按钮时,它会取消选择其他按钮,选择适当的菜单项并取消选择其他菜单项。选择其中一个菜单项也是同样的处理方式。
我知道我可以使用ButtonGroup将任何AbstractButton分组,但我不确定这是否是正确的方法,因为虽然它可以很好地处理一个"组"的按钮,但我不确定它是否能够处理两个平行的组。
如果不使用ButtonGroup,则意味着在6个事件监听器中,我必须手动取消选择其他按钮,并且每对按钮都会调用相同的代码来设置形状类型。
我还可以制作两个ButtonGroup,一个用于菜单,一个用于工具栏,但是这样也必须复制形状类型设置代码。
在任何情况下,我也有可能出现菜单设置按钮,按钮设置菜单项,菜单项设置按钮等无限循环的情况。
如何解决这个问题最好的方法是什么?
(如果能够使用Netbeans GUI设计器解决问题,那就有额外的加分了;这样做更容易)
该任务规定我需要为每种类型的形状提供工具栏按钮和菜单项。
我想做得更好一些,通过将按钮设置为工具栏中的JToggleButtons,将菜单项设置为JRadioButtonMenuItems。此外,当您选择其中一个工具栏按钮时,它会取消选择其他按钮,选择适当的菜单项并取消选择其他菜单项。选择其中一个菜单项也是同样的处理方式。
我知道我可以使用ButtonGroup将任何AbstractButton分组,但我不确定这是否是正确的方法,因为虽然它可以很好地处理一个"组"的按钮,但我不确定它是否能够处理两个平行的组。
如果不使用ButtonGroup,则意味着在6个事件监听器中,我必须手动取消选择其他按钮,并且每对按钮都会调用相同的代码来设置形状类型。
我还可以制作两个ButtonGroup,一个用于菜单,一个用于工具栏,但是这样也必须复制形状类型设置代码。
在任何情况下,我也有可能出现菜单设置按钮,按钮设置菜单项,菜单项设置按钮等无限循环的情况。
如何解决这个问题最好的方法是什么?
(如果能够使用Netbeans GUI设计器解决问题,那就有额外的加分了;这样做更容易)