0

私は組み込みプログラム(iRobotのCreateプラットフォーム用)を開発するための非常にシンプルなIDEを作成しており、ほとんどすべてのボタンとメニュー項目はJavaのアクションシステムによって支えられています。これにより、操作のトリガーを複製することなく、ユーザーが必要とするすべての操作を簡単に処理できるようになりました。

私が知りたいのは、アクション自体を無効にすることによって、アクションから作成されたJButtonとJMenuItemを無効にするにはどうすればよいですか?

役立つ場合は、アクション自体から直接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 に答える