PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Suche] Möglichkeit in Java/Swing einfach Nutzeränderungen zu beobachten


Senior Sanchez
2005-10-18, 11:19:44
Hi,

also ich suche nach ner Möglichkeit, um Änderungen an GUI-Komponenten mitzubekommen. Im Grunde ist das ähnlich zu Word, dass wenn sich am Text was ändert, sofort der Speicher-Button aktiviert wird.
Ich will nur mitbekommen, dass sich was ändert; wo und was es ist, ist eigentlich nebensächlich.
Natürlich könnte ich jetzt an jede Komponente nen Listener hängen und das beobachten, bloß ich finds umständlich.

Hat jemand vllt ne andere Idee?

Monger
2005-10-18, 12:11:41
Aber afaik sind Listener das einzig richtige. Du kannst ja einen einzigen Listener für mehrere Buttons registrieren - aber was wie registriert wird, musst du letztendlich selbst machen. Die gesamte Kommunikation in der GUI läuft nunmal über Listeners.

Ein Event (egal welches) enthält ja immer den Absender. Du könntest also einfach auf die Konsole etwas rausschreiben à la "Button XY hat soeben ein Ereignis abgesetzt". Ich weiß allerdings nicht, was alles ein Ereignis absetzt, ob z.B. nicht auch ein repainten ein Ereignis ist...

Edit: einen kleinen Fehler behoben...

Senior Sanchez
2005-10-18, 12:18:32
Aber afaik sind Listener das einzig richtige. Du kannst ja einen einzigen Listener für mehrere Buttons registrieren - aber was wie registriert wird, musst du letztendlich selbst machen. Die gesamte Kommunikation in der GUI läuft nunmal über Listeners.

Ein Listener (egal welcher) enthält ja immer den Absender. Du könntest also einfach auf die Konsole etwas rausschreiben à la "Button XY hat soeben ein Ereignis abgesetzt". Ich weiß allerdings nicht, was alles ein Ereignis absetzt, ob z.B. nicht auch ein repainten ein Ereignis ist...

So gehts auf jeden Fall und das habe ich auch schon gemacht.
Nur ich sitze gerade an fremden Sourcecode und will den jetzt nicht zu sehr umgestalten für so einen kleinen Anwendungszweck. Es wird aber wohl darauf hinaus laufen, das so machen zu müssen.