2012-08-03 40 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