2010-11-20 107 views
1

我想要一个Jabrame中JTabbedPane中的JPanel的MouseListener ...
我希望它打印一些东西,无论何时点击/按下鼠标。
我试着环顾四周,但是当我尝试和实现它我在这条线的错误:鼠标事件e(Jpanel)Java帮助

public class GUI implements ActionListener, MouseListener 

这是错误:

GUI is not abstract and does not override abstract method mouseExited(java.awt.event.MouseEvent) in java.awt.event.MouseListener

这是什么意思?

P.S(我想要的JPanel/tab位称为:displayMainPanel)
非常感谢。

回答

2
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"); 
       } 
      }); 
+0

似乎是工作的感谢。 – 2010-11-20 13:37:56

2

好了,你要重写mouseExit

在你GUI类:

@Override 
public void mouseExit(MouseEvent e) { /* Do nothing */ } 

当所有的错误都没有了。不要忘了yourPanel.addMouseListener(theMouseListener)

yourPanel.addMouseListener(theObjectOfTheClassWhichImplementsTheListener); 

,然后设置焦点的面板,以确保事件会被抓住。

yourPanel.requestFocus();