gpt4 book ai didi

java - JButton 的 addMouseListener 或 actionListener?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:15:24 24 4
gpt4 key购买 nike

在定义 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 允许在多个小部件之间共享它(例如 JButtonJMenuItem...);您不仅共享按下按钮/菜单时触发的代码,而且还共享状态,特别是操作(及其关联的小部件)是否启用的事实。

关于java - JButton 的 addMouseListener 或 actionListener?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3616761/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com