2011-10-21 11 views
3

以下のsetActionメソッドを使用してitemMenuにアクションを追加しましたが、コードを実行するとこのメニュー項目のテキストは消えます。このメニュー項目の場所をクリックすると、アクションが実行されるため、コードは正常に機能します。アクションのコンストラクタに、ボタンやメニュー項目の名前でsetActionメソッドが呼び出された後、Itemメニューのテキストが消えるのはなぜですか?

exit.setAction(new AbstractAction() { 
    public void actionPerformed(ActionEvent event) { 
    System.exit(0); 
    } 
} 

答えて

4

パス:

// Note the AbstractAction constructor can take a String 
exit.setAction(new AbstractAction("Exit"){ 
    public void actionPerformed(ActionEvent event){ 
    System.exit(0); 
    } 
} 
+0

はい、ありがとうございました@Gnon – sahar

2

あなたは複数のメニュー項目のためにこれを使用することができます。

JMenuItem firstMenuItem = new JMenuItem("First"); 
JMenuItem secondMenuItem = new JMenuItem("Second"); 

ActionListener commanAction = new ActionListener() { 
    @Override 
    public void actionPerformed(ActionEvent ae) { 
     if(ae.getSource().equals(firstMenuItem)) { 
       // Do Something.... 
     } else if(ae.getSource().equals(secondMenuItem)) { 
       // Do Something.... 
     } 
    } 
}; 
firstMenuItem.addActionListener(commanAction); 
secondMenuItem.addActionListener(commanAction); 
関連する問題