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:
Il problema è che così facendo l'editor si comporta in maniera leggermente diversa da quello predefinito: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(); } }
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..

Rispondi quotando