gpt4 book ai didi

Java鼠标监听器

转载 作者:搜寻专家 更新时间:2023-10-30 19:49:17 25 4
gpt4 key购买 nike

我有一堆 JLabel,我想捕获鼠标点击事件。目前我不得不使用:

public void mouseClicked(MouseEvent arg0) {

}

public void mouseExited(MouseEvent arg0) {

}

public void mouseEntered(MouseEvent arg0) {

}

public void mousePressed(MouseEvent arg0) {

}

public void mouseReleased(MouseEvent arg0) {

System.out.println("Welcome to Java Programming!");
}

我想知道是否有一种更简洁的方法来执行此操作,而不是让我不希望陷入一堆事件?

编辑:

    class MyAdapter extends MouseAdapter {
public void mouseClicked(MouseEvent event) {

System.out.println(event.getComponent());
}
}

上面的工作,但 netBeans 说添加 @override 注释。这是什么意思?

编辑:好的,明白了。修复并解决。

最佳答案

使用 MouseAdapter()

用于接收鼠标事件的抽象适配器类。这个类中的方法是空的。此类的存在是为了方便创建监听器对象。所以你只需要实现你喜欢的方法,例如下面的例子:

import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class MainClass extends JPanel {

public MainClass() {

addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent me) {
System.out.println(me);
}
});

}

public static void main(String[] args) {
JFrame frame = new JFrame();
frame.getContentPane().add(new MainClass());

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setSize(200, 200);
frame.setVisible(true);
}
}

关于Java鼠标监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2668718/

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