Announcement

Collapse
No announcement yet.

Listener beim Resize

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Listener beim Resize

    Moin Leute,

    ich habe ein eigenartiges Problem, bei dem hoffentlich einer eine Antwort weiß. Ich verzweifele so langsam.

    Zur Ausgangslage:
    Ich habe in meinem JFrame eine JTable mit einem eigenen TableModel.
    In einer Spalte habe ich einen eigenen CellEditor, der ein JTextfield enthält.
    Das Textfeld hat noch einen FocusListener mit der Methode focusLost(FocusEvent e), die stopCellEditing() aufruft, damit der Wert beim Focus verlieren in die Zelle geschrieben wir.d

    Mein Problem ist, dass ich beim Ändern des Fensters die Änderung nicht mitbekomme, wenn ich die Eingabe noch nicht bestätigt habe. (müsste also immer Enter vorher drücken).
    Wenn man aber gerade die erste Zelle bearbeitet und das Fenster vergrößert, ist der Inhalt weg.

    Mein Lösungsvorschlag:
    Daher wollte ich die FocusListener aller Komponenten aufrufen. Das habe ich in der Methode componentResized() als ComponentListener hinzugefügt. Das Problem ist, dass der Listener logischerweise nach dem Ändern der Größe aufgerufen wird, und zu diesem Zeitpunkt ist das JTextfield nicht mehr vorhanden.
    Beim Maximieren, Minimieren und schließen habe ich das nun hinbekommen. Aber beim manuellen Ändern der Größe des Fensters am unteren Rand verschwindet der Inhalt. Am oberen Rand hab ich es mit der Methode componentMoved gelöst, wo ist die FocusLost Methoden ausführen.

    Hoffe, ich konnte mein Problem verständlich schildern. Und danke schonmal
Working...
X