Bueno, despues de mucho buscar, lo he solucionado no es exactamente lo que queria, pero funciona mas o menos parecido ^.^, dejo mi solucion en caso de que a alguien le sirva.
1) Sobre-escribi el metodo getCellEditor de mi JTable.
Código:
public TableCellEditor getCellEditor(int row, int col) {
final JTextField field = new JTextField(getValueAt(row,col).toString());
final DefaultCellEditor edit = new DefaultCellEditor(field);
edit.setClickCountToStart(1);
field.addFocusListener(new FocusAdapter() {
public void focusGained(FocusEvent e) {
field.selectAll();//Con esto al solicitar el editor, el texto queda seleccionado
}
public void focusLost(FocusEvent e) {
field.select(0,0);//De-selecciono el texto al perder el foco.
}
});
return edit;
Con esto cada celda reacciona como un JTextField y al obtener el foco selecciona todo su texto.
Esto no solucionaba mi problema debido a que cuando comenzaba la edicion desde el teclado y no con doble click (o un solo click) el texto se adjuntaba al existente, asi que para solucionar esto agregue un listener a la JTable que escuchara el evento KeyRelased y solicitara el foco cuando se presionara una tecla, asi se simulaba el doble click del mosue.
Código:
tabla.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent e) {
if (!jTable1.isEditing() && jTable1.editCellAt(jTable1.getSelectedRow(), jTable1.getSelectedColumn())) {
jTable1.getEditorComponent().requestFocusInWindow();
}
}
});
Aunque no es una solucion muy elegante, funciona. Solo me falta definir que si es VK_ESCAPE, cancele la edicion y si es VK_ENTER pare la edicion (bueno eso espero :P)...
Un saludo.