有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java:禁用操作应该禁用JButtons和JMenuItems

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

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

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

有什么建议吗


共 (2) 个答案

  1. # 1 楼答案

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

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

  2. # 2 楼答案

    您可以将所有按钮和菜单项存储到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);
             }
          }
       }
    });