我正在尝试了解有关事件处理的更多信息,但在我读到的任何地方,它主要是关于如何使用它,所以会发生一些事情,而不是它是如何工作的。
到目前为止,我知道单击按钮时发生某些事情的两种方法。
动作监听器:
myButton.addActionListener(new ActionListener() { @override actionPerformed... });
和抽象动作:
public class MyAction extends AbstractAction {
public MyAction(String text, ImageIcon icon, String desc, Integer mnemonic) {
super(text, icon);
putValue(SHORT_DESCRIPTION, desc);
putValue(MNEMONIC_KEY, mnemonic);
}
public void actionPerformed(ActionEvent e) {
System.out.println("Action", e);
}
}
MyAction myAction = new MyAction(...);
myButton.setAction(myAction);
我知道我可以将我想要发生的所有事情写进actionPerfomed()
方法中。
但是由于我不知道,在后台到底发生了什么,我不知道一个人是否比另一个人更有优势,或者我应该在哪种情况下使用哪个?