鼠标事件E(jpanel)Java帮助
-
26-09-2019 - |
题
我想要一个在jframe中的jtabbedpane内的jpanel的穆斯特列者...
每当单击/按下鼠标时,我都希望它打印一些东西。
我已经尝试环顾四周,但是当我尝试实施它时,我在这一行上遇到了一个错误:
public class GUI implements ActionListener, MouseListener
这是错误:
GUI
不是抽象的,不会覆盖抽象方法mouseExited(java.awt.event.MouseEvent)
在java.awt.event.MouseListener
这意味着什么?
PS(我想要的jpanel/tab位称为:displaymainpanel)
非常感谢。
解决方案
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");
}
});
其他提示
好吧,你必须覆盖 mouseExit
:
在你的 GUI
班级:
@Override
public void mouseExit(MouseEvent e) { /* Do nothing */ }
当所有错误消失时。别忘了 yourPanel.addMouseListener(theMouseListener)
:
yourPanel.addMouseListener(theObjectOfTheClassWhichImplementsTheListener);
然后将焦点设置为面板,以确保将捕获事件。
yourPanel.requestFocus();
不隶属于 StackOverflow