Salve a todos,ho una jtable in cui ho scritto il mio bravo cell editor in modo da poter cambiare le virgole con i punti impostare un bordo etc..,il codice è il seguente:
codice:
private class MyCellEditor extends AbstractCellEditor implements TableCellEditor
{
JComponent component = new JTextField();
public Component getTableCellEditorComponent(JTable table, Object value,
boolean isSelected, int rowIndex, int vColIndex)
{
JTextField editor = (JTextField)component;
editor.setHorizontalAlignment(SwingConstants.RIGHT);
editor.setBorder(BorderFactory.createLineBorder(Color.BLACK,2));
editor.setText((String)value);
return component;
}
public Object getCellEditorValue()
{
return ((JTextField)component).getText();
}
}
Il problema è che così facendo l'editor si comporta in maniera leggermente diversa da quello predefinito:
1)l'editing è attivo con un solo click anzichè col doppio click (e questo ci può anche stare)
2)quando l'editor perde il fuoco non comunica il suo contenuto alla JTable a meno che non cambi cella,e questo non è buono.
In altre parole vorrei che perso il fuoco l'editor comunichi immediatamente il suo nuovo contenuto al tablemodel senza la pressione di
INVIO o roba simile,un po come avviene in excel.Non so come fare..