Swing Suche Listener für beliebige Änderung an GUI Items/Controls

andreT

Aktives Mitglied
Hallo Forum erstmal :)

ich suche nach einem Listener in der API (JDK7) der sich problemlos an sämtliche gängige GUI Items/Controls (JTextField/JRadioButton/...) adden lässt.
Hintergrund : Ich möchte mitbekommen ob sich an dem Item irgendwas geändert hat z.B. Wert wurde geändert vllt. auch auf den Ursprungswert ... was auch immer .... das wäre egal! Ich suche halt nur einen Listener(Typ) der auf gängige Swing-Items hört und Änderungen mitbekommt. Eigentlich geht's nur darum einen "Übernehmen" Button zu enablen wenn ich an einem GUI Item sozu. "rumgefummelt" habe.
ChangeListener und DocumentListener hab ich mal probiert, kann ich aber nicht an jedes Control adden. Ich möchte nun auch nicht für jeden Control-Typ einen eigenen Listener basteln!

Vllt. seh ich den Wald vor lauter JTrees nich ... aber im Moment komm ich da nicht recht weiter.

Hat jemand 'n Tipp?

Gruß
andre
 
V

vanny

Gast
Da die Listener Interfaces sind, kannst du dir ja eine eigene Listenerklasse schreiben, die all die Interfaces implementiert, die du benötigst.
Den "einer für alle" Listener wirst du wohl nicht einfach so finden.

Gruß Vanny

//Edit: Wobei ich deinen Ansatz sehr unschön finde.
Schöner ist es dann doch, eine Methode für das enable des Buttons zu schreiben und den jeweiligen Components den für sie spezifischen Listenertyp zu adden.
Diese greifen dann alle auf die Methode zu und gut is.(Zumal die Components ohne Listener ja eh recht sinnfrei sind :p)
 
Zuletzt bearbeitet von einem Moderator:
S

SlaterB

Gast
wenn alle relevanten Aktionen nicht nur automatische GUI-Änderungen betreffen, was immer das sein mag,
sondern bereits jetzt jeweils einer von deinen individuellen Listener beteiligt ist,
dann wäre es vielleicht besser, bei all diesen Listener anzusetzen statt überall einen zweiten Weg einzuschlagen

alle Listener könnten beispielsweise von Basisklassen erben:
Java:
abstract class BaseListener {

   void standard() {
      // logge Event
      // registiere irgendwo Änderung an Seite ... 
   }

}


abstract class BaseActionListener extends BaseListener  implements ActionListener {

 final actionPerformed() {
    standard();
    action();
  }

  abstract void action(); 
}
eine solche Struktur kann auch andere Vorteile haben, z.B. das Loggen, z.B. eine kürzere Methode action() ohne das lästige oft unnötige ActionEvent als Parameter,
es könnte ein zweiter BaseActionListener geschrieben werden der gleich einen Thread für eine dann zu implementierende run-Methode startet,
falls man öfters aus Listenern nebenläufige Aktionen starten muss, usw.
 

andreT

Aktives Mitglied
Da die Listener Interfaces sind, kannst du dir ja eine eigene Listenerklasse schreiben, die all die Interfaces implementiert, die du benötigst.
Den "einer für alle" Listener wirst du wohl nicht einfach so finden.
Ja eben das möchte ich ja vermeiden! Ich hatte halt die Hoffnung das Swing sich da seit 1.2~1999 endlich mal etwas weiterentwickelt hätte und da jetzt mal was cleveres bereithält ... aber offensichtlich haben die es mit der Weiterentwicklung der API bzgl. Desktop Anwendungen (siehe DnD, Performance etc. nach wie vor!) wohl aufgegeben.

//Edit: Wobei ich deinen Ansatz sehr unschön finde.
Schöner ist es dann doch, eine Methode für das enable des Buttons zu schreiben und den jeweiligen Components den für sie spezifischen Listenertyp zu adden.
Diese greifen dann alle auf die Methode zu und gut is.

Ja nee iss klar! Das hat nichts mit Schönheit zu tun, sondern ist ja nur die logische Konsequenz! :toll:

Hat vllt. jemand noch einen Geheimtipp??

Gruß
Andre
 

andreT

Aktives Mitglied
wenn alle relevanten Aktionen nicht nur automatische GUI-Änderungen betreffen, was immer das sein mag,
sondern bereits jetzt jeweils einer von deinen individuellen Listener beteiligt ist,
dann wäre es vielleicht besser, bei all diesen Listener anzusetzen statt überall einen zweiten Weg einzuschlagen

alle Listener könnten beispielsweise von Basisklassen erben:
Java:
abstract class BaseListener {

   void standard() {
      // logge Event
      // registiere irgendwo Änderung an Seite ... 
   }

}


abstract class BaseActionListener extends BaseListener  implements ActionListener {

 final actionPerformed() {
    standard();
    action();
  }

  abstract void action(); 
}
eine solche Struktur kann auch andere Vorteile haben, z.B. das Loggen, z.B. eine kürzere Methode action() ohne das lästige oft unnötige ActionEvent als Parameter,
es könnte ein zweiter BaseActionListener geschrieben werden der gleich einen Thread für eine dann zu implementierende run-Methode startet,
falls man öfters aus Listenern nebenläufige Aktionen starten muss, usw.

Solche Vererbungsketten hatte ich auch schon im Sinn, aber ich habe da wirklich nur ganz trivial ca. 25 Controls (JtextField, RadioButton(Group), JComboBox) und wollte nur "stumpf" einen Button enablen wenn jemand an einem Control "rumgeklickt" hat. Ganz einfach und ohne große Prüfungen ob z.B. wirklich was geändert wurde u.ä.. Ich hatte da halt so eine Hoffnung nach 10 Jahren Swing-Abstinenz da was einfaches zu finden :D ... hmmm ...
Sieht wohl so aus als müsste man da nach wie vor auf low-level Ebene ran :autsch:
 

andreT

Aktives Mitglied
das hier gibts anscheinend noch:
AWTEventListener (Java Platform SE 6)
allerdings nicht unbedingt auf bestimmte Komponenten eingeschränkt,
vielleicht kann man Source abfragen und mit allen fraglichen Komponenten, in eine Datenstruktor eingefügt, vergleichen
Sieht spannend aus. Werd ich mal einbauen und auf die entsprechenden Controls casten bzw. entsprechend reagieren.

Im Augenblick geht die Anwendung nicht da ich z.Zt. vergeblich versuche das Eclipse Projekt nun als jar-Archiv mit bat-Datei incl. der notwendigen Libraries zum Laufen zu bringen. Immer wieder ein Riesenspass wenn man die letzten Jahre immer nur mit WSAD/RSA o.ä. "fertigen Umgebungen" unterwegs war :D

Wenn die Anwendung wieder läuft und ich das eingebaut habe melde ich mich nochmal.
Aber schonmal vielen Dank soweit!
 
Zuletzt bearbeitet:
V

vanny

Gast
... aber offensichtlich haben die es mit der Weiterentwicklung der API bzgl. Desktop Anwendungen (siehe DnD, Performance etc. nach wie vor!) wohl aufgegeben.

Ich würde das jetzt nicht so hart ausdrücken, es tut sich ja doch einiges:autsch:

Vielleicht schreibst du die Sunjungs mal an und wünscht dir einen SomeThingHappendListener :D
 

andreT

Aktives Mitglied
Ich würde das jetzt nicht so hart ausdrücken, es tut sich ja doch einiges:autsch:

Vielleicht schreibst du die Sunjungs mal an und wünscht dir einen SomeThingHappendListener :D

Die wollten schon mein retry-Befehl nicht umsetzen ... also :

Java:
try {
   ...				
} catch (Exception e) {
   if(...) {
     retry;
   }				
}

:D
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Listener Suche für F1 AWT, Swing, JavaFX & SWT 25
hdi JTable -> Suche passenden Listener AWT, Swing, JavaFX & SWT 10
M suche geeignetes Fenster zur Anzeige AWT, Swing, JavaFX & SWT 49
-DD Lobby/Spielerliste aktualisieren bei Suche AWT, Swing, JavaFX & SWT 1
looparda Suche Lib für Visualisierung von Graphen AWT, Swing, JavaFX & SWT 12
L JavaFX Ich suche das passende Textfield Event AWT, Swing, JavaFX & SWT 1
stroggi Swing Suche nach Kurveneditor (UI-Element) AWT, Swing, JavaFX & SWT 1
J Suche nach einer horizontal aufklappbaren Toolbar AWT, Swing, JavaFX & SWT 1
Maks16 JavaFX ominöse Mails in meinem Suche Postfach von Outlook Sharepoint AWT, Swing, JavaFX & SWT 4
S JavaFX Suche Literatur für JavaFX Einstieg AWT, Swing, JavaFX & SWT 8
P LookAndFeel Suche Buch und Beispielprojekte für gute Designs AWT, Swing, JavaFX & SWT 4
L [SUCHE] Tutorial zur grafischen Nutzeroberflächengestaltung AWT, Swing, JavaFX & SWT 6
S Swing Suche Drag & Drop Beispiele AWT, Swing, JavaFX & SWT 1
K Swing Konsolen Programm in GUI - Suche Hilfe bei Konsolenausgabe AWT, Swing, JavaFX & SWT 2
M Suche Javabibliothek zum Zeichnen mathematischer Funktionen AWT, Swing, JavaFX & SWT 11
I Suche in einem Text AWT, Swing, JavaFX & SWT 4
TheWhiteShadow Swing suche passenden LayoutManager AWT, Swing, JavaFX & SWT 8
hdi LookAndFeel Suche: Substance L&F AWT, Swing, JavaFX & SWT 4
G DB-Suche in GUI AWT, Swing, JavaFX & SWT 4
C Live Suche mit TextFeld AWT, Swing, JavaFX & SWT 2
A Swing suche OpenSource Date(Time)Picker Komponente AWT, Swing, JavaFX & SWT 9
A LookAndFeel Suche richtige Technologie für eine bestimme Desginvorlage AWT, Swing, JavaFX & SWT 5
N LayoutManager suche LayoutManager für Tabellenstruktur AWT, Swing, JavaFX & SWT 2
A Suche: Eclipse-GUI-Layout AWT, Swing, JavaFX & SWT 5
Nicer LookAndFeel Suche noch LaFs AWT, Swing, JavaFX & SWT 7
padde479 Suche eine Komponente (->ToolBar) AWT, Swing, JavaFX & SWT 7
E Swing JTree Filter Suche mit Collapse?! AWT, Swing, JavaFX & SWT 4
B Swing Suche JFileChooser zum Speichern AWT, Swing, JavaFX & SWT 2
slawaweis Suche TagCloud Komponente für Swing AWT, Swing, JavaFX & SWT 10
hdi SWT Suche passenden LayoutManager AWT, Swing, JavaFX & SWT 5
Nicer LookAndFeel Suche LaFs AWT, Swing, JavaFX & SWT 12
N Suche nach Komponente / LaF AWT, Swing, JavaFX & SWT 21
V [SUCHE]GUI Programmier Tutorial[Netbeans] AWT, Swing, JavaFX & SWT 8
M Suche passende Chart Library LGPL/kommerziell AWT, Swing, JavaFX & SWT 14
E Swing Suche LayoutManager AWT, Swing, JavaFX & SWT 5
hdi Swing Suche nach passendem Layout AWT, Swing, JavaFX & SWT 8
P Suche freien Date und Time Picker AWT, Swing, JavaFX & SWT 3
hdi Swing Suche passende API Klasse(n) für meine Komponente AWT, Swing, JavaFX & SWT 8
ModellbahnerTT Suche bessere Methode AWT, Swing, JavaFX & SWT 4
M Suche Java Komponente AWT, Swing, JavaFX & SWT 2
newcron Suche die hässlichsten Swing GUIs AWT, Swing, JavaFX & SWT 4
A Suche TreeTable-Komponente AWT, Swing, JavaFX & SWT 12
C Suche fertigen HTML editor AWT, Swing, JavaFX & SWT 2
V Suche "Einblendeffekt" AWT, Swing, JavaFX & SWT 6
V Suche Komponente AWT, Swing, JavaFX & SWT 2
D Suche Framework um Grafikprogramm zu schreiben. AWT, Swing, JavaFX & SWT 36
Q Suche "Ablaufplan" für Swing-Fensterwechsel? AWT, Swing, JavaFX & SWT 2
R Ich suche einen sehr simplen. AWT, Swing, JavaFX & SWT 2
A Suche analoge Uhr in Java AWT, Swing, JavaFX & SWT 9
M Jlist Eintrag mit suche selektieren AWT, Swing, JavaFX & SWT 4
W Suche großes vollständiges Swing GUI Beispiel nach MVC Model AWT, Swing, JavaFX & SWT 5
G Suche 2 Componenten: Splitpane ausblenden / Stecknadel AWT, Swing, JavaFX & SWT 2
B Suche eine GUI-Komponente AWT, Swing, JavaFX & SWT 2
D Suche verticale Progressbar AWT, Swing, JavaFX & SWT 2
E Suche kostenloses Iconset für Swing (Ocean) AWT, Swing, JavaFX & SWT 4
M Suche Komponente für mehrere 100.000 Zeile Text AWT, Swing, JavaFX & SWT 3
C suche 1.3er - compatible Version von Swing-layout AWT, Swing, JavaFX & SWT 15
S Ich suche ein Darstellungselement AWT, Swing, JavaFX & SWT 2
T Suche Methode zum anzeigen eines Textteils im JPasswordfield AWT, Swing, JavaFX & SWT 2
N [Suche] JTree Widget/Library. AWT, Swing, JavaFX & SWT 2
M auf der suche nach einer komponente AWT, Swing, JavaFX & SWT 3
G suche Actionlistener der "Loslassen" eines Buttons AWT, Swing, JavaFX & SWT 5
G Suche Tutorial zum Thema jdbc/SQL/Select/JTable AWT, Swing, JavaFX & SWT 9
O Suche einfache Möglichkeit zum Speichern AWT, Swing, JavaFX & SWT 21
H Suche Quelltext für einen einfachen Animationsthread AWT, Swing, JavaFX & SWT 8
EagleEye suche Tutorial(s) für JTable AWT, Swing, JavaFX & SWT 2
G Suche einen KeyEvent für die Taste "ä" AWT, Swing, JavaFX & SWT 7
padde479 MenuItem MouseEvent/-Listener AWT, Swing, JavaFX & SWT 5
W Gibt es einen "automatischen Listener" in Swing oder JTable oder der ATM-Klasse? AWT, Swing, JavaFX & SWT 14
G listener repaint() - verschiedene Darstellung AWT, Swing, JavaFX & SWT 24
P JTable Listener für die Änderung einzelner Zellen oder Rows AWT, Swing, JavaFX & SWT 2
K Warum genau hat man einen Listener, dann ein Event und was ist ein Adapter AWT, Swing, JavaFX & SWT 2
J Key-Listener in Java AWT, Swing, JavaFX & SWT 37
S JavaFX - mit Listener Veränderungen in einer TableView abhören AWT, Swing, JavaFX & SWT 3
N JavaFX 1 Listener für mehrere ChoiceBoxen AWT, Swing, JavaFX & SWT 3
B Probleme Action Listener Taschenrechner AWT, Swing, JavaFX & SWT 27
M List Listener AWT, Swing, JavaFX & SWT 37
I AWT Listener während man in anderem Fenster ist AWT, Swing, JavaFX & SWT 4
U Funktionsweise Listener AWT, Swing, JavaFX & SWT 1
L TextField Listener AWT, Swing, JavaFX & SWT 13
K Nullpointer Combobox Listener AWT, Swing, JavaFX & SWT 2
L JavaFX Image im ImageView auf Scroll Listener reagieren AWT, Swing, JavaFX & SWT 5
Salo JTabel Selection listener Bsp. AWT, Swing, JavaFX & SWT 5
J JTable Selection Listener funktioniert nicht AWT, Swing, JavaFX & SWT 4
J Action Listener Rückgabewert AWT, Swing, JavaFX & SWT 14
MaxG. Swing JMenu einen Listener Hinzufügen AWT, Swing, JavaFX & SWT 25
L JavaFX Verbindung zwischen Beschreibung und Listener (Codebehind Klasse) AWT, Swing, JavaFX & SWT 4
T Swing Methode in Listener aufrufen AWT, Swing, JavaFX & SWT 3
S Swing Tabellen - Listener & richtige Row AWT, Swing, JavaFX & SWT 3
J Java -8 Action Listener für mehrere Buttons AWT, Swing, JavaFX & SWT 9
S Erste Schritte mit GUI - Fileverarbeitung, Listener,... AWT, Swing, JavaFX & SWT 10
M JButton - Listener AWT, Swing, JavaFX & SWT 1
R Swing Mehrere JTextFields mit einem Document Listener AWT, Swing, JavaFX & SWT 2
K JavaFX Focus Listener für gesamte Scene AWT, Swing, JavaFX & SWT 1
M Key Listener reagiert nicht AWT, Swing, JavaFX & SWT 4
F In Action Listener TextFields einlesen und prüfen. Abbruch bei falschen Eingaben. Wie mache ich das? AWT, Swing, JavaFX & SWT 2
M Listener funktioniert nicht AWT, Swing, JavaFX & SWT 7
S Swing JComboBox mit Listener aktualisieren AWT, Swing, JavaFX & SWT 13
elischa JFrame über mehrere JPanel und Listener AWT, Swing, JavaFX & SWT 17
llabusch Event Handling Listener spielt verrückt AWT, Swing, JavaFX & SWT 8

Ähnliche Java Themen

Neue Themen


Oben