【问题标题】:Mouse event e (Jpanel) Java help鼠标事件 e (Jpanel) Java 帮助
【发布时间】:2010-11-20 21:39:27
【问题描述】:
我想要一个用于 JFrame 中的 JTabbedPane 内的 JPanel 的 MouseListener...
每当单击/按下鼠标时,我都希望它打印一些东西。
我试过环顾四周,但是当我尝试实现它时,我在这一行出现错误:
public class GUI implements ActionListener, MouseListener
这是错误:
GUI 不是抽象的,也不是
覆盖java.awt.event.MouseListener中的抽象方法mouseExited(java.awt.event.MouseEvent)
这是什么意思?
P.S(我想要的 JPanel/tab 位被称为:displayMainPanel)
非常感谢。
【问题讨论】:
标签:
java
swing
mouselistener
【解决方案1】:
JPanel jPanel = new JPanel();
jPanel.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
System.out.println("mouseClicked");
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
System.out.println("mouseEntered");
}
public void mouseExited(java.awt.event.MouseEvent evt) {
System.out.println("mouseExited");
}
public void mousePressed(java.awt.event.MouseEvent evt) {
System.out.println("mousePressed");
}
public void mouseReleased(java.awt.event.MouseEvent evt) {
System.out.println("mouseReleased");
}
});
【解决方案2】:
好吧,你必须覆盖mouseExit:
在您的GUI 班级中:
@Override
public void mouseExit(MouseEvent e) { /* Do nothing */ }
当所有错误都消失了。别忘了yourPanel.addMouseListener(theMouseListener):
yourPanel.addMouseListener(theObjectOfTheClassWhichImplementsTheListener);
然后将焦点设置在面板上,以确保捕获事件。
yourPanel.requestFocus();