Link to home
Start Free TrialLog in
Avatar of cathalmchale
cathalmchale

asked on

Mouse double click event in JTable

Hi, this is quite difficult to explain!
  I have a JTable.  When the user double clicks a row it opens the file represented by that row:

public void mousePressed(MouseEvent e)
  {
    // if a double click then update the collection view
    if (e.getClickCount() == 2)
    {
      Point origin = e.getPoint();
      int row = table.rowAtPoint(origin);
      if (row != -1)
      {
        /** openFile( row ); */
      }

So this file is opened in the work-area "panel" (dockable frame) below the table -> the last thing done is to activate (give focus to) this new file.
But then the focus jumps back to the tables frame - where the mouse-event occurred.
I can see how there is logic to this alright, but there is an anomoly which might help in providing a solution here:

if the cell that was double clicked IS editable, then the focus remains with the opened document*, if it IS NOT editable then focus jumps back to the table!

* NB! the focus stays with the opened document but in the table it looks like cell editing was cancelled or something (the specific cell has an edit box around it, but the cursor is not blinking because focus isnt even on that panel!)

Any ideas !?i?!
Cathal.
Avatar of Mick Barry
Mick Barry
Flag of Australia image

Try queueing the request for focus using EventQueue.invokeLater().
Avatar of cathalmchale
cathalmchale

ASKER

OK - ill try.  how?? !!
ASKER CERTIFIED SOLUTION
Avatar of Mick Barry
Mick Barry
Flag of Australia image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial