複数の Menu と MenuItem を含む 1 つのクラス (MenuBarClass と呼びましょう) があります。すべての MenuItem に actionlistener を割り当てたいのですが、次のようなことをする代わりに:
menuitem_1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {} });
menuitem_2.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {} });
menuitem_3.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {} });
// ...
menuitem_N.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {} });
私は自分のコードをもっと管理しやすくしたい..もっと重要..次のような1つの巨大なActionListenerクラスにたくさんの「if」を入れたくない:
public void actionPerformed(ActionEvent e) {
if (e.getSource().equals(menuitem_1)) {
//do stuff..
} else if (e.getSource().equals(menuitem_2)) {
//do stuff..
} else ...
}
可能であれば、どうすればこれを行うことができますか? 誰でも助けることができますか?