title image


Smiley TableCellEditor
Hallo!



Ich baue mir gerade eine Tabelle (JTable) zusammen, die verschiedene CellEditors (extends AbstractCellEditor implements TableCellEditor, ActionListener) zur Verfügung stellt, da ich eigene Objekte mit diesen bearbeiten möchte und ich so besser in der Lage bin sie auf meine Bedürfnisse anzupassen. Ich überschreibe die Methode JTable.getCellEditor(int row, int col) und dort gebe ich immer einen neuen Editor zurück.



Wenn ich nun eine andere Grafik (deren Properties ich mit dieser Tabelle bearbeiten möchte) selektiere fülle ich mein TableModel mit neuen Daten. Wenn jetzt der Fall eintritt das man eine neue Grafik markiert während ein CellEditor im "editing mode" ist , sprich der Benutzer z.B gerade eine Eingabe in einem Textfeld vornimmt, dann wird dieser scheinbar nicht beendet. Trotz neuer Daten wird in an der gleichen Stelle (Row:Column) der Editor angezeigt. Es ist immernoch im "editing mode". Wie bekomme ich das blöde Ding geschlossen, am besten noch den aktuellen Wert gespeichert? Merkt sich die JTable an irgend einer Stelle die Editoren? Kann ich irgendwie durch die JTable laufen und nach aktiven CellEditors suchen und gegebenfalls schließen??



Vielen Dank, DaBoo



PS: Habe zum Testen mal einen FocusListener an einem Editor (im Testfall ein JTextField) registriert, aber der hat keinen Event empfangen! :-(

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: