2012-08-03 42 views
0

我有這個代碼來檢測的JTable檢測點擊JTable的:有時無法識別

table.addMouseListener(new java.awt.event.MouseAdapter() 
{ 
    @Override 
    public void mouseClicked(java.awt.event.MouseEvent e) 
    { 

     int row= table.rowAtPoint(e.getPoint()); 
     int col= table.columnAtPoint(e.getPoint()); 
     System.out.println(table.getSelectedRow()); 

     if (e.getClickCount() == 2) 
     { 

      System.out.println ("Doppio Click"); 

     } 

    } 

}); 

此代碼的工作很大的問題是,如果我點擊一個行和之前的鼠標按鍵了,我移動鼠標點擊沒有檢測到點擊,但該行在我的JTable中被選中。任何人都可以知道如何解決這個問題?謝謝!

+0

使用mouseDown存儲行/列(我親自把它放在點對象中,因爲它更容易檢測到空值,但這只是我),然後在發佈或單擊方法中採取行動 – MadProgrammer 2012-08-03 08:38:25

回答

1

使用MouseListener.mouseReleasedMouseListener.mousePressed事件代替(檢測雙擊,這種方式是比較詭計,但可以完成)。

+0

是的, s是解決方案。我已經在你的答案之前嘗試過了,它效果很好。問題是現在雙擊! – Luca 2012-08-03 09:49:28