0

リスト内の各ボタンに対して ActionListener を実行するにはどうすればよいですか? 私は使用してJGraphMenuおり、各アイテムのアラートを表示したいと考えています。

これが私のコードです:

public static void main(String[] args){
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
List<String> MenuItem = new ArrayList<String>();
MenuItem.add("Choose The XML File");
MenuItem.add("Generate the tree");
MenuItem.add("Generate the latex code");
MenuItem.add("Generate automata");
List<ActionListener> listeners = new ArrayList<ActionListener();
for(int i=0; i<4; i++){
listeners.add(null);
}

JGraphMenu menu = new JGraphMenu(
ConstantesStyles.NOIR,
JGraphMenu.VERTICAL, 
MenuItem, listeners
);

JPanel panel = new JPanel();
panel.add(menu);
panel.setSize(50, 100);
f.add(panel, BorderLayout.WEST);
f.setSize(500, 400);
f.setLocationRelativeTo(null);
        f.setVisible(true);

    }

}
4

1 に答える 1

3

nullのリストにs を追加する代わりに、ActionListenerリスナーを追加します (私の例では、同じリスナーですが、アイデアはわかります):

List<ActionListener> listeners = new ArrayList<ActionListener()>;
ActionListener listener = new ActionListener() {
    @Override void actionPerformed(ActionEvent e) {
        // do something
    }
};
for(int i=0; i<4; i++){
    listeners.add(listener);
}
于 2012-04-29T02:00:59.637 に答える