EventListener für jTextArea der nur einmal zündet?

MarkusG

Mitglied
Hallo alle zusammen,

gibt es einen Eventlistener für eine jTextArea, der nur einmal nach dem editieren dieser zündet?

Hab schon ein paar ausprobiert... allerdings zünden einige bei jedem Zeichen bzw. bei jedem Positionswechsel des Cursors innerhalb der jTextArea...

Ziel des ganzen ist, zur Laufzeit der Anwendung zu merken, "ah da hat sich etwas geändert" und anschließend den Speicherbutton zu aktivieren...


Kann mir jemand helfen?

Vielen Dank im Voraus

Mfg. Markus
 
Tach,
hast Du der JTextArea nur einen EventListener zugewiesen? Dann probier mal einen KeyListener, denn der sollte funktionieren. Schließlich ist die Eingabe ja ein KeyEvent.
 
funktionieren wird er sicherlich, aber auch nur einmal? Soweit ich weiß zündet er dann bei jedem Tastendruck... bei mir soll nur einmal gezündet werden...

Die unfeine Lösung wäre, nach dem zünden den jTextArea.removeKeyListener(this) aufzurufen und nach dem Speichern ihn wieder setzen... diese Lösung möchte ich allerdings vermeiden.
 
MarkusG hat gesagt.:
funktionieren wird er sicherlich, aber auch nur einmal? Soweit ich weiß zündet er dann bei jedem Tastendruck... bei mir soll nur einmal gezündet werden...

Die unfeine Lösung wäre, nach dem zünden den jTextArea.removeKeyListener(this) aufzurufen und nach dem Speichern ihn wieder setzen... diese Lösung möchte ich allerdings vermeiden.

Moin,
Du wirst nicht drum herum kommen. Wenn der KeyListener nur einmal aufgerufen werden soll, muss er nach dem ersten Event entfernt werden. Ansonsten springt er natürlich immer an, und das ist auch eigentlich Sinn der Sache.
Wenn Du das vermeiden willst, aus welchen Gründen auch immer, dann bleibt Dir nur, eine Variable in dem Listener zu hinterlegen und zu setzen, wenn das erste Mal ein Event ausgelöst wird. Für Aktionen fragst Du dann diese Variable ab, und nach dem Speichern setzt Du sie wieder auf 0.
 
Zurück