我打算用 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?