ActionListener und GUI trennen

Status
Nicht offen für weitere Antworten.

MQue

Top Contributor
Hallo,

Ich möchte die Actionlistener für die Einzelnen Componenten (JButton, JLabel usw) und die GUI selber in zwei verschiedenen Klassen haben.
Kann mir da jemand einen Ansatz geben wie ich das am Besten machen könnte bzw. wie diese zwei Klassen dann miteinander kommunizieren.

Vielen Dank

lg
Michael
 

EOB

Top Contributor
hi, das ist im prinzip recht einfach. es gibt in swing ja das prinzip der actions. also du machst sowas in der art:

Code:
class MyAction extends AbstractAction{

    public void actionPerformed(ActionEvent e){
        String s = getValue("test");
        System.out.println(s);
    }
}

so, das ist jetzt deine action, schön gekapselt und wiederverwendbar, da sie an so ziemlich alle swing komponenten gehängt werden kann. dafür gibts die methode setAction(action).

Code:
button.setAction(new MyAction());
button.addActionListener(new ActionListener(){

    public void actionPerformed(ActionEvent e){
        Object src = e.getSource();
        Action action = ((JButton)src).getAction();
        action.putValue("test", "Hallo Welt");
    }

});

in der action passiert also alles. und das ist auch gut so :). schau dir in diesem zusammenhang auch mal das MVC prinzip an.

als praktisches beispiel mal eine exit action:

Code:
class ExitAction extends AbstractAction{

    public void actionPerformed(ActionEvent e){
        System.exit(-1);
    }
}

die kannste dann an dein menu oder/und einen exitbutton hängen. man kann das natürlich noch mit einer abfrage 'Wirklich beenden?' etc erweitern.

grüße
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
F JButton und ActionListener Allgemeine Java-Themen 3
F System Tray Menubutton ActionListener Allgemeine Java-Themen 5
V Event Handling ActionListener nur bei "checked" CheckBoxMenuItem Allgemeine Java-Themen 2
K Best Practice Auf die Klasse zugreifen im erzeugten ActionListener Allgemeine Java-Themen 2
S Methode funktioniert nicht als ActionListener Allgemeine Java-Themen 4
C ActionListener - ToggleButton als von KI geklickt "markieren" Allgemeine Java-Themen 2
A ActionListener blockiert Bedienung des ganzen Systems Allgemeine Java-Themen 8
Z Swing Problem mit ActionListener Allgemeine Java-Themen 6
X getText undefiniert in ActionListener Allgemeine Java-Themen 5
D ActionListener wird mit jedem Mal öfter aufgerufen Allgemeine Java-Themen 2
P Variablen Variable von void im ActionListener verwenden Allgemeine Java-Themen 3
F Swing NetBeans nimmt ActionListener nicht an. Allgemeine Java-Themen 2
C Event Handling ActionListener manuell auslösen Allgemeine Java-Themen 8
G Button-Registrierung beim ActionListener erst NACH Tastendruck Allgemeine Java-Themen 2
P ActionListener / Label Name auslesen Allgemeine Java-Themen 2
C ActionListener zwei Buttons zuweisen Allgemeine Java-Themen 11
T ActionListener und Singleton Allgemeine Java-Themen 15
J ActionListener-Klasse will Methode nicht annehmen Allgemeine Java-Themen 6
G Übergabeparameter an ActionListener Allgemeine Java-Themen 9
Z Mit ActionListener in anderem Frame lauschen? Allgemeine Java-Themen 3
W 2 Klassen + ActionListener Allgemeine Java-Themen 2
G Anonymen Buttons in for schleife ActionListener hinzufügen Allgemeine Java-Themen 5
C JTree: ActionListener auf die Nodes Allgemeine Java-Themen 3
C ActionListener reagiert zu oft Allgemeine Java-Themen 5
L ActionListener / Buttons Allgemeine Java-Themen 8
E ActionListener Allgemeine Java-Themen 8
TheJavaKid Programmablauf anhalten bis actionlistener ausgeführt wurde Allgemeine Java-Themen 6
minzel ActionListener aus Package Allgemeine Java-Themen 24
F AbstractAction und ActionListener Allgemeine Java-Themen 2
J variablen wert ändernung mit einer art actionlistener? Allgemeine Java-Themen 4
K ActionListener ohne implements? Allgemeine Java-Themen 2
L ActionListener > Variable ... u.v.m. Allgemeine Java-Themen 19
W ActionListener + Klasse einbinden Allgemeine Java-Themen 2
B JAVA Topology Suite - LineStrings trennen Allgemeine Java-Themen 5
N String trennen Allgemeine Java-Themen 2
L String nach Länge trennen Allgemeine Java-Themen 12
M ParsingLogsTool - Logeinträge trennen Allgemeine Java-Themen 3
L Problem mit txt einlesen und trennen Allgemeine Java-Themen 5
M String in numerisch und alphanumerisch trennen mit regex? Allgemeine Java-Themen 2
Luma Unicode Steuerzeichen von druckbaren Zeichen trennen Allgemeine Java-Themen 10
MQue Popup- Menue- trennen von Panel und Aktion Allgemeine Java-Themen 6

Ähnliche Java Themen

Neue Themen


Oben