You will need to make your own cellEditor and ovveride
public boolean isCellEditable( EventObject e )
You can distinguish between single and double click using clickCount on eventObject
If it is one click away and you can return true in the selected cell, otherwise return false;
int row = ( (JTable) e.getSource() ).rowAtPoint(e.getPoint());
int column = ( (JTable) e.getSource() ).columnAtPoint(e.getPoint());
F2, Map en actionMap
similar too
table.getInputMap().put(KeyStroke.getKeyStroke("DOWN"), "doMyArrowDown");
table.getTable().getActionMap().put("doMyArrowDown", new ArrowDownAction());
table.editCellAt(row, column );