Mit ActionListener in anderem Frame lauschen?

Status
Nicht offen für weitere Antworten.

zuckerbrot

Mitglied
Hallo, ich habe mal wieder ein kleines Problem, bei dem ihr mir hoffentlich helfen könnt.

Folgende Struktur:

Ich habe ein Hauptprogramm, aus dem ich mir ein kleines Eingabefenster (Frame "Abfrage") öffne
Java:
Abfrage myAbfrage = new Abfrage();
myAbfrage.setVisible(true);

In dem Abfrage-Frame gibt es u.a. einen OK-Button, zu dem es dort auch einen ActionListener gibt, in dem ein paar Aktionen durchgeführt werden. Mein Problem ist nun folgendes: Nachdem der OK-Button im Abfragefenster betätigt wurde, soll mein Hauptprogramm eine Aktion durchführen. Ich muss also irgendwie im Hauptprogramm mitbekommen, wenn der OK-Button im Abfragefenster betätigt wurde. Wie kann ich das tun?

Ich hatte erst den umgekehrten Weg im Sinn, also aus dem Abfragefenster heraus eine Methode des Hauptprogramms aufrufen, aber das funktioniert nicht wegen
"non-static method ... cannot be referenced from a static context"
Und die Methode im Hauptrogramm static zu machen, ist auch keine Option, da da zu viele Variablen und Methoden dranhängen, die ich dann auch alle static machen müsste.

Kann ich mir im Hauptprogramm einen ActionListener basteln, der auf den OK-Button im Abfragefenster reagiert oder sowas? Wie müsste das dann aussehen?

Vielen Dank vorab :)
 
B

bygones

Gast
moeglichkeit 1:

Java:
public class Foo() {
    public void start() {
       Abfrage myAbfrage = new Abfrage(this);
       myAbfrage.setVisible(true);
    }

    public void doIt() {
      // mach was
   }
}

public class Abfrage {
    private Foo foo;

    public Abfrage(Foo foo) {
      this.foo = foo;
    }

    // irgendwo dann im ActionListener
    // foo.doIt();
}

Moeglichkeit 2:
Java:
public class Foo() {
    public void start() {
       ActionListener l = new ActionListener(); // mit dem ganzen summs -> ruft bei actionPerformed doIt auf
       Abfrage myAbfrage = new Abfrage(l);
       myAbfrage.setVisible(true);
    }

    public void doIt() {
      // mach was
   }
}

public class Abfrage {
    private ActionListener buttonListener;

    public Abfrage(ActionListener l) {
      buttonListener = l;
    }

    // irgendwo dann im Button
   // button.addActionListener(buttonListener);
}
 

Michael...

Top Contributor
Generell würde ich für das Abfragefenster einen (evtl. modalen) JDialog verwenden. Abhängig davon was Du vorhast. z.B. Kann man auf das Schliessen des Dialogs warten und dann entsprechend im Programm weiter verfahren oder man kann dem Dialog/Frame bei entsprechender Implementierung einen ActionListener mitgeben.
Soll das Hauptprogramm im Hintergrund "weiterlaufen" oder muss es auf eine Rückmeldung aus dem Abfragefenster warten?
Beschreibe mal was Du genau vorhast.
 

zuckerbrot

Mitglied
Das Hauptprogramm soll auf eine Rückmeldung aus dem Abfragefenster warten. Ich habe jetzt die 2. Möglichkeit von bygones verwendet und damit läuft es so, wie ich mir das vorgestellt hatte :)
Vielen Dank!
 
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
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
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
I Klassen aus Jar-Dateien aus anderem Ordner laden Allgemeine Java-Themen 3
D Boolean von ein anderem Java Programm während der Laufzeit ändern Allgemeine Java-Themen 23
P Methode aus anderem Paket aufrufen Allgemeine Java-Themen 1
Thallius Serialisiertes File kann auf anderem Rechner nicht geladen werden Allgemeine Java-Themen 12
C Datentypen Enum-Werte Bestanteil von anderem Enum Allgemeine Java-Themen 8
C Umgebungsvariable Java-Datei in anderem Verzeichnis ausführen Allgemeine Java-Themen 2
J Anderem Thread Variable mitgeben Allgemeine Java-Themen 2
A Nach Benutzerwechsel mit anderem Account in Windows anmelden Allgemeine Java-Themen 8
S Prozess der von anderem Prozess gestartet wurde beenden? (Windows Bildschirmtastatur) Allgemeine Java-Themen 4
T Externes Programm auf anderem Bildschirm starten Allgemeine Java-Themen 3
T Java Programm aus anderem Java Programm starten Allgemeine Java-Themen 13
J Eclipse Java Programm aus anderem Java Programm starten Allgemeine Java-Themen 14
I EDT scheint zu blocken wegen Dateioperation in anderem Thread Allgemeine Java-Themen 9
M Log4J funktioniert nicht unter anderem Benutzer Allgemeine Java-Themen 5
R GPL code mixen mit anderem Code? Allgemeine Java-Themen 7
V Class Mapping - Klasse unter anderem Namen verfügbar machen Allgemeine Java-Themen 8
S jar-datei auf anderem Rechner nicht ausführbar. Allgemeine Java-Themen 40
S Deserialisieren mit anderem Klassennamen Allgemeine Java-Themen 5
conan2 BufferedReader.readLine() von anderem Thread aus beenden Allgemeine Java-Themen 4
J Einbinden einer protected-Methode aus anderem Package Allgemeine Java-Themen 2
G Java Programm auf anderem Pc ausführen Allgemeine Java-Themen 4
H .java Dateien in anderem Package Allgemeine Java-Themen 8
H jar-file in anderem main programm ausführen Allgemeine Java-Themen 2
G Link zu JCreator oder anderem Tool Allgemeine Java-Themen 2
J Mein Frame friert ein beim Uploaden Allgemeine Java-Themen 4
G Input Frame Allgemeine Java-Themen 6
Y Wie kann ich ein erstelltes JPanel meinem Frame hinzufügen? Allgemeine Java-Themen 1
MaxG. Swing Frame schließen Allgemeine Java-Themen 9
X Controller pro Frame? Allgemeine Java-Themen 8
A BlueJ Java Frame Java Editor --> Bluej / String title Allgemeine Java-Themen 8
S Bild in Frame Allgemeine Java-Themen 0
T Code durch eigenes Frame pausieren (ähnlich JDialog) Allgemeine Java-Themen 4
D Player Objekt - Frame über Server anzeigen lassen. Allgemeine Java-Themen 3
R Nullpunkt im Frame Allgemeine Java-Themen 4
J Swing Frame schließt ganzes Programm(Jasperreport) Allgemeine Java-Themen 6
J Runtime.exec setzt Fokus auf Frame Allgemeine Java-Themen 2
N Protocol Frame/Applet Allgemeine Java-Themen 4
A Frame nur Anwendungsweit in Vordergrund Allgemeine Java-Themen 2
M Nochmal I-Frame zu Image Allgemeine Java-Themen 4
borobudur Find a AWT frame in SWT Allgemeine Java-Themen 4
S Von Frame zu Frame Allgemeine Java-Themen 7
D Kreis Rundes Frame Allgemeine Java-Themen 16
E "runder" Frame Allgemeine Java-Themen 9
G Kompletten Frame mit allen Objekten resizen Allgemeine Java-Themen 10
ARadauer mit keylistener hören auch wenn frame nicht den focus hat Allgemeine Java-Themen 2
G HTML-Seite im Frame Anzeige? Allgemeine Java-Themen 3
G Kontrolllampe im Frame Allgemeine Java-Themen 4
C Tastatureingabe in einem Frame abfragen Allgemeine Java-Themen 2
L Spielerei: Frame rekursiv darstellen Allgemeine Java-Themen 3
L Objekt in einem Frame wird im anderen benötigt Allgemeine Java-Themen 5
A mein Frame wird nicht schnell genung aktualisiert Allgemeine Java-Themen 7
G Fenster/Frame schließen Allgemeine Java-Themen 16
R Window statt Frame Allgemeine Java-Themen 6
R KeyListener ohne Frame und Applet Allgemeine Java-Themen 7
B Frame schließt sich aber VM bleibt am Leben Allgemeine Java-Themen 3
J Exception-Frame Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben