2010-11-20 60 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();