ActionListener

Status
Nicht offen für weitere Antworten.

e9926044

Bekanntes Mitglied
Hallo,

ich hätte nochmal eine Frage zu den ActionListnener und zwar reagier ich in meinem Code auf eine Eingabe in ein TextFeld (textFeldText.add...), jetzt habe ich aber noch zwei ComboBoxen, und wenn ich dort etwas eingebe bzw auswähle, dann soll der selbe Code ausgeführt werden wie bei textFeldText. Geht das irgendwie bzw. kann man die actionListener verschachteln oder wie könnte ich das am besten machen.
Eine zweite Frage hätte ich auch noch: ist es möglich in einer ComboBox etwas hineinzuschreiben (Editable = true) das noch nicht drinnensteht und damit die ComboBox das übernimmt. Ich bekomme nämlich jetzt immer -1 zurück sobald ich etwas anderes eingebe.

VIELEN DANK!!

lg

Code:
 textFeldText.addActionListener(new ActionListener()
            {
            public void actionPerformed(ActionEvent e) 
                {
                content = new MyContent();
                try {
 
S

SlaterB

Gast
erstelle entweder einen Listener und verwende diesen mehrmals:
ActionListener common = new ActionListener() ...

a.addActionListener(common);
b.addActionListener(common);
c.addActionListener(common);

oder lagere die Logik aus in eine andere Operation,
und die einzelnen ActionListener rufen nur diese Operation auf
 

Saxony

Top Contributor
Hiho,

yep das ist mir in deinem Source auch aufgefallen das du alle ActionListener direkt in der addActionListener Methode deklarierst. Das kann man machen wenn nicht mehr als ein zwei Befehle dort rein schreiben will.
Ansonsten sollte man dem Model-View-Controller Paradigma entsprechend die Listener in eigene Klassen auslagern.
Wobei ich hier aber eher Freund einer eigenen Klasse bin und die Listener nicht als Klasse ans Ende der GUI-Klasse hängen würde.

<edit>
Genauso grauenhaft finde ich, wenn die GUI Klasse selber alle Listener interfaces implementiert um die Komponenten zu "belauschen".
</edit>

Bei gößeren Projekten macht das nämlich schon Sinn wenn man so etwas hier hat

com.myfirm.gui.components
com.myfirm.gui.control

bye Saxony
 

e9926044

Bekanntes Mitglied
und wie kann ich mir diesen ActionListener erstelle?
Hab da jetzt keine Idee, gibts da einen Link oder sowas?

lg
Hannes
 

e9926044

Bekanntes Mitglied
Wie kann ich das machen, eine neue Klasse für die Events!!
ich wollte es aufteilen, is aber nicht gegangen, da ich immer eine NullPointerException erhalten habe, daher hab ich alles zusammengehauen!!

lg und vielen Dank
Hannes
 
S

SlaterB

Gast
ganz normal?

class X implements ActionListener {

}

X x = new X();
a.addActionListener(x);
 

Saxony

Top Contributor
Hiho,

also du hast zum Beispiel deine GUI MyGUI extends JFrame oda so.
Diese hat dann Bedienelemente wie Buttons, Listen, ComboBoxen usw..
Zusätzlich zu der GUI Klasse schreibst du eine Controller Klasse.

Code:
public class MyGUIControl implements ActionListener {
    
    MyGUI the_gui_which_this_class_controls;

    public MyGUIControl(MyGUI aGUI) {

        this.the_gui_which_this_class_controls = aGUI;
    }

    public void actionPerformed(ActionEvent aEvent) {
    
        // TODO was halt gemacht werden soll
    }
}

//und in deiner GUI Klasse dann


JButton btn = new JButton("hit me");
btn.addActionListener(new MyGUIControl(this));

Fertsch! :D

bye Saxony
 
G

Guest

Gast
Hohi Saxony,
nicht ganz fertsch,
Variablendeklaration in Zeile 4 hat Syntaxfehler (Unterstrich vor gui fehlt).
In Zeile 8 inkonsequente Fehlerfortpflanzung (jetzt fehlt sogar gui selbst.)
Also bitte richtsch fertsch machen ;-))

Gast
 
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
MQue ActionListener und GUI trennen Allgemeine Java-Themen 3
L ActionListener / Buttons 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

Ähnliche Java Themen

Neue Themen


Oben