bin weiter dabei, mir einige Swing-Feinheiten zu erschließen. Habe gerade einige JTables erstellt und mit Listener versehen, die auf keyRelease-events reagieren sollen. Die Bearbeitung der Zellen erfolgt über einen CellEditor, der ein JFormattedTextfield zur Eingabe bereitstellt. Ich stelle dabei fest, dass meine keyRelease-Methoden nicht anspringen. Liegt das daran, dass beim Tippen in die Tabelle das Textfeld den Focus hat und somit der Tabellenlistener nicht reagieren kann (oder ist das nicht prinzipiell so und ich müsste nach einem Fehler im Code suchen?)
Aha, danke, dann lag ich mit meiner Vermutung richtig.
Jedesmal wenn ein Zelleninhalt verändert wird, soll der veränderte Wert in eine Variable übernommen werden. Je nach Zeile und Spalte geht es um unterschiedliche Variablen. Deshalb schwebte mir ein keyRelease-Listener auf Tabellenebe vor, weil ich so sehr einfach an die selektierte Zelle herankomme. Ansonsten könnte ich vielleicht im CellEditor dem Textfeld einen entsprechenden Listener hinzufügen, der das erledigt. Dann müsste ich sehen, wie ich auf anderem Weg die aktuell selektierte Zelle ermittle. Oder gäbe es noch einen anderen oder einen einfacheren Weg? ...
Tschuldigung, als Anfänger kann man sich meist nicht so gut verständlich machen. Ja, meine Absicht ist, jede Änderung sofort, also nach jedem Tastenschlag, zu übernehmen. Aber jetzt, wo du von dem alten Wert im TableModel sprichst dämmert mir, dass das auf Tabellenebene gar nicht funktionieren kann, solange der Editor den veränderten Wert noch nicht übergeben hat (right?).
Hab gegoogelt und vermute, dass ich an die Koordinaten im CellEditor vermutlich über getTableCellEditorComponent herankomme (?), oder hast du an eine andere Möglichkeit gedacht?
Ja, meine Absicht ist, jede Änderung sofort, also nach jedem Tastenschlag, zu übernehmen. Aber jetzt, wo du von dem alten Wert im TableModel sprichst dämmert mir, dass das auf Tabellenebene gar nicht funktionieren kann, solange der Editor den veränderten Wert noch nicht übergeben hat (right?).
Hab gegoogelt und vermute, dass ich an die Koordinaten im CellEditor vermutlich über getTableCellEditorComponent herankomme (?), oder hast du an eine andere Möglichkeit gedacht?