Hallo zusammen
Ich habe mal wieder ein paar Fragen:
1. Ich habe mir eine GUI gebastelt mit mehreren Panels mit: "extends JPanel implements ActionListener"
Vorteil ist hier natürich, dass ich auf alle Elemente des Panels zugriff habe. (unteranderem Buttons, Checkboxes, Textfields).
Die Aktionen werden mit set/getActionCommand unterschieden.
Nun würde ich gerne der Actions in eine eigene Klasse packen. (extends ActionListener)
Hier hab ich nun das Problem, das wenn ich z.B. auf einen Button reagiere mit getSource zwar den Button holen kann, jedoch fehlt mir der Zugriff auf die anderen Elemente (z.B. Textfields) was ich aber brauche.
Wie kann ich das am besten machen?
2. Weiterhin erzeugt meine GUI einen Thread als Listener in einer Endlosschleife. Dieser Thread soll aber Rückmeldungen an die GUI liefern. Genauer gesagt Werte in ein JTextfield schreiben. Bisher hab geb ich dem Thread das JPanel mit, in dem sich das Textfeld befindet. Über eine Methode greif ich dann auf das Textfeld zu und schreib den Wert.
Hat jemand ne andere Variante? So ganz praktisch find ich das nicht
Ich habe mal wieder ein paar Fragen:
1. Ich habe mir eine GUI gebastelt mit mehreren Panels mit: "extends JPanel implements ActionListener"
Vorteil ist hier natürich, dass ich auf alle Elemente des Panels zugriff habe. (unteranderem Buttons, Checkboxes, Textfields).
Die Aktionen werden mit set/getActionCommand unterschieden.
Nun würde ich gerne der Actions in eine eigene Klasse packen. (extends ActionListener)
Hier hab ich nun das Problem, das wenn ich z.B. auf einen Button reagiere mit getSource zwar den Button holen kann, jedoch fehlt mir der Zugriff auf die anderen Elemente (z.B. Textfields) was ich aber brauche.
Wie kann ich das am besten machen?
2. Weiterhin erzeugt meine GUI einen Thread als Listener in einer Endlosschleife. Dieser Thread soll aber Rückmeldungen an die GUI liefern. Genauer gesagt Werte in ein JTextfield schreiben. Bisher hab geb ich dem Thread das JPanel mit, in dem sich das Textfeld befindet. Über eine Methode greif ich dann auf das Textfeld zu und schreib den Wert.
Hat jemand ne andere Variante? So ganz praktisch find ich das nicht