Java: отключение действия должно отключить JButtons и JMenuItems - PullRequest
0 голосов
/ 12 мая 2011

Я пишу довольно простую IDE для разработки встроенных программ (для платформы iRobot Create), и почти каждая кнопка и пункт меню поддерживаются системой Action Java. Это упростило обработку всех операций, которые потребует пользователь, без дублирования триггера операции.

Что я хотел бы знать, как отключить JButtons и JMenuItems, созданные из Action, путем отключения самого Action?

На случай, если это поможет, я написал класс обёртывания Action, который позволяет мне легко создавать JButton или JMenuItem прямо из самого действия, что означает, что у меня уже есть зацепки для добавления элементов в кнопки или элементы меню. в случае необходимости.

Есть предложения?

Ответы [ 2 ]

3 голосов
/ 12 мая 2011

Краткий ответ:
anAction.setEnabled( false );

Краткий ответ:
http://sscce.org/

0 голосов
/ 12 мая 2011

Вы можете сохранить все кнопки и элементы меню в 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);
         }
      }
   }
});
...