Hallo,
ich hab eine Tabelle erstellt, in die der User Hex-Strings eingeben kann. Diese möchte ich nach dem Editieren korrigieren, bevor sie übernommen wird. Ich habe mir den folgenden Editor geschrieben:
Das Problem:
Eigentlich funktioniert es so halb, aber erst wenn ich das zweite mal in die Zelle Klicke, Sprich:
Eingabe wird unkorrigiert ausgegeben. Erst beim zweiten mal reinklicken sehe ich die Korrektur im Editor.
Ich vermute, das geht nicht, weil anfangs die Zelle noch leer ist, da kann man ja noch nichts korrigieren. Weiter vermute ich dass ich eventuell den falschen Ansatz habe mit dem CellEditor, weil der darin stehende code offenbar nur wirksam wird, wenn der Zelleninhalt in den Editor übernommen wird, und nicht wenn der Wert vom Editor wieder zurückgegeben wird.
ich hab eine Tabelle erstellt, in die der User Hex-Strings eingeben kann. Diese möchte ich nach dem Editieren korrigieren, bevor sie übernommen wird. Ich habe mir den folgenden Editor geschrieben:
Java:
class FontCellEditor extends DefaultCellEditor {
public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
JTextField editor = (JTextField) super.getTableCellEditorComponent(table, value, isSelected, row, column);
String s = "";
if (value != null) {
s = value.toString();
s = new String(Convert.simpleHexStringCorrection(s)); // meine Korrektur-Funktion
editor.setText(s);
}
return editor;
}
}
Das Problem:
Eigentlich funktioniert es so halb, aber erst wenn ich das zweite mal in die Zelle Klicke, Sprich:
Eingabe wird unkorrigiert ausgegeben. Erst beim zweiten mal reinklicken sehe ich die Korrektur im Editor.
Ich vermute, das geht nicht, weil anfangs die Zelle noch leer ist, da kann man ja noch nichts korrigieren. Weiter vermute ich dass ich eventuell den falschen Ansatz habe mit dem CellEditor, weil der darin stehende code offenbar nur wirksam wird, wenn der Zelleninhalt in den Editor übernommen wird, und nicht wenn der Wert vom Editor wieder zurückgegeben wird.