【发布时间】:2013-06-01 23:45:12
【问题描述】:
我打算用 Java 开发一个游戏,它会有很多监听器(动作、按键、鼠标等)。
我的问题是实现监听器的最佳方式是什么。
方法一:
this.addActionListener(new ActionListener() {
// Overide methods go here
});
方法二:
创建一个新类(或多个类),它将实现 ActionListener 并具有用于不同游戏组件(按钮、移动、任何其他需要 ActionListener 的东西)的方法
所以,例如。如果我正在制作一个按钮,这样做会更好
JButton button = new JButton();
button.addActionListener(new ActionListener() {
});
或
JButton button = new JButton();
button.addActionListener(new MyActionListener());
// MyActionListener
class MyActionListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
Object objectPressed = e.getSource();
if(objectPressed.equals(button) {
System.out.println("Hello World");
}
}
}
我可以看到两种方式的优势,方法 1 你可以直接看到该对象发生了什么,但方法 2 你可以看到所有组件。
那么在开发更易于维护的大型应用程序时,将所有侦听器放在单独的类中,还是使用方法 1?
【问题讨论】:
标签: java swing jbutton actionlistener anonymous-inner-class