将JMenu ButtonGroups与JToolbar ButtonGroups同步

aro*_*roo 5 java swing action menu toolbar

想象一下,我正在使用Java Swing创建一个简单的字处理器.我已经编写了一组用于执行文本对齐的Actions.在MenuBar上我有一个菜单:

View
  Left Justify
  Center Jusitfy
  Right Justify

它由JRadioButtonMenuItems和一个ButtonGroup组成,以确保一次只能选择一个项目.

另外,想象一下,我有一个由JToggleButtons和ButtonGroup组成的等效工具栏,以确保在任何时候只有一个按钮可以处于活动状态.

使用相同的Action初始化"Left Justify"JRadioButtonMenu和JToggleButton,依此类推其他项.

我的问题是:同步两组的最佳方法是什么?如果我单击工具栏上的"右对齐"图标,我希望菜单中的组相应更新,反之亦然.

aro*_*roo 2

经过大量搜索后,我在这里找到了信息。基本上,您可以将其添加到操作的 actionPerformed 方法中:

action.putValue(Action.SELECTED_KEY, Boolean.TRUE);
Run Code Online (Sandbox Code Playgroud)

这将为您完成所有工作!

不幸的是,Sun 官方教程没有涵盖这个方面(或者至少我没有发现它),因此很难找到这样一个简单的方法来解决我的问题。