0

我正在编写一个相当简单的 IDE 来开发嵌入式程序(用于 iRobot 的 Create 平台),几乎每个按钮和菜单项都由 Java 的 Action 系统提供支持。这使得在不复制操作触发器的情况下处理用户想要的所有操作变得更加容易。

我想知道的是,如何通过禁用 Action 本身来禁用从 Action 创建的 JButtons 和 JMenuItems?

如果有帮助,我编写了一个 Action-wrapping 类,它允许我直接从 Action 本身轻松创建 JButton 或 JMenuItem,这意味着我已经准备好挂钩,可以在需要时向按钮或菜单项添加内容出现。

有什么建议么?

4

2 回答 2

3

简短的回答:
anAction.setEnabled( false );

简短的回答:
http ://sscce.org/

于 2011-05-12T09:02:39.937 回答
0

您可以将所有按钮和菜单项存储到操作中List<AbstractButton> buttons并将侦听器添加到操作中:

action.addPropertyChangeListener(new PropertyChangeListener() {
   public void propertyChange(PropertyChangeEvent evt) {
      if (evt.getPropertyName().equals("enabled")) {
         boolean isEnabled = (Boolean)evt.getNewValue();
         for (AbstractButton button : buttons) {
            button.setEnabled(isEnabled);
         }
      }
   }
});
于 2011-05-12T08:40:51.033 回答