在定义 JButton 上的简单单击行为时,哪种方法是正确的?而且,有什么区别?
JButton but = new JButton();
but.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("You clicked the button, using an ActionListener");
}
});
或
JButton but = new JButton();
but.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
System.out.println("You clicked the button, using a MouseListenr");
}
});
最佳答案
MouseListener
是 Swing(顺便说一句,还有 AWT)中的低级事件监听器。
ActionListener
是更高级别的,应该使用。
虽然比 ActionListener
更好,但应该使用 javax.swing.Action
(实际上是 ActionListener
)。
使用 Action
允许在多个小部件之间共享它(例如 JButton
、JMenuItem
...);您不仅共享按下按钮/菜单时触发的代码,而且还共享状态,特别是操作(及其关联的小部件)是否启用的事实。
关于java - JButton 的 addMouseListener 或 actionListener?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3616761/