好的,我有一个包含多个 Menu 和 MenuItem 的类(我们称之为:MenuBarClass)。我想为每个 MenuItem 分配一个动作侦听器,但是.. 而不是做类似的事情:
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) {} });
我希望我的代码更易于维护,而且……更重要……我不想在一个巨大的 ActionListener 类中出现很多“如果”,例如:
public void actionPerformed(ActionEvent e) {
if (e.getSource().equals(menuitem_1)) {
//do stuff..
} else if (e.getSource().equals(menuitem_2)) {
//do stuff..
} else ...
}
如果可能的话,我该怎么做?任何人都可以帮忙吗?