Try this:
table.setDefaultEditor(Object.class,new TableEditor());
class TableEditor extends DefaultCellEditor{
public TableEditor(){
super(new JTextField());
setClickCountToStart(1);
getComponent().addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e){
if(e.getKeyCode()==KeyEvent.VK_ENTER)
System.out.println("enter");
}
});
}
public Component getTableCellEditorComponent(JTable table,Object value,boolean isSelected,int row,int column){
JTextField com=(JTextField)super.getTableCellEditorComponent(table,value,isSelected,row,WIDTH);
com.setText((String)value);
return com;
}
}
And
table.getInputMap(JTable.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER,0),"");
to remove standard reaction for the Enter key, if you need
Or:
editorComponent.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER,0),"ent");
editorComponent.getActionMap().put("ent",new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e){
System.out.println("opp");
}
});
in the TableEditor constructor (instead of "getComponent" staff).