gemeinsamer Eventlistener in unterschiedlichen Frames

sportingt

Mitglied
Hallo,

Ich habe zwei JFrames die beide einen ActionListener implementieren

z.B.
Code:
public class widget1 extends JFrame implements ActionListener { ...

public class widget2 extends JFrame implements ActionListener {...

In beiden Klassen überschreibe ich folgende Methode...

Code:
public void actionPerformed(ActionEvent evt) {
		try {
			if(evt.getActionCommand() == "search") {...

in Beiden Frames habe ich einen Knopf

Code:
butQuery = new JButton(imageQuery);
		butQuery.setActionCommand("search");
		butQuery.addActionListener(this);...

Wie stelle ich das an, dass egal in welchem Fenster der Knopf gedrückt wird
ein gemeinsames Event ("search") ausgeführt wird?
Ich möchte nicht in jeder Klasse den Code duplizieren.
Ich möchte auf gemeinsame Objekte zugreifen

:confused:
 
Zuletzt bearbeitet:
erzeuge dir Klasse Actionlistener und binde diese dann ein

class lauscher implements ActionListener
{
public lauscher (...)
}

.addActionListener(lauscher);
 
Bitte etwas genauer.
Wo deklariere ich die Klasse? Als Subklasse im Frame oder als eigenständige?
Du hast jetzt nur den Konstruktor aufgeführt. Ich dachte wenn man das ActionListenerInterface implementiert müßte man die Methode actionPerformed() überschreiben?
 
ja da musst du eine eigene Klasse erstellen!
so was in der Art!
Code:
class abc implements ActionListener {

void actionPerformed(ActionEvent e) {
...........
}
}



butQuery.addActionListener(new abc());
 
Zurück