GUI Event Handling

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Schönen guten Tag,

folgendes Problem,

ich habe eine Oberfläche mit einer Menüleiste und einer Message Box. Die Message Box und die GUI sind getrennt voneinander.

Wie kann ich jetzt bewerkstelligen das ich wenn ich auf Menü->Beenden klicke auf das Button reagieren kann.

Es sind zwei Klassen

Code:
public class FrmMessageBox extends JFrame implements ActionListener
Code:
public class MainWindow extends JFrame

Bis jetzt habe ich diesen Handler

Code:
private void MnuPtQuitActionPerformed(ActionEvent quitEvent) {
	FrmMessageBox msgbox=new FrmMessageBox(MSGINFORMATION, "Möchten Sie das Programm wirklich beenden ?", BTNMODEOKABORT);
msgbox.setVisible(true);
}

Dabei ist die Messagebox ein externes JFrame. Wie kann man das nun bauen das ich wenn ich in der Message box auf ok klicke ein ereigniss an die GUI schicken kann wo ich darauf hin das Programm beenden kann. Die Messagebox soll dabei global agieren können. Also ich möchte mit ihr jede erdenkliche Nachricht darstellen können und darauf reagieren.

Ich probiere jetzt schon seit tagen komme aber zu keinem ergebniss.

Über hilfreiche Antworten würde ich mich freuen.

MFG Andre
 
G

Guest

Gast
Vielen Dank ... das ist schön ... da hätte ich mir ja auch gleich die Arbeit sparen können ;-) ... vielen dank für die Info werd das mal ausprobieren. Dennoch wäre es schön zu wissen wie man sowas macht ... bräuchte das dann später noch für andre sachen
 

moormaster

Top Contributor
Wie man das macht, geben doch die GUI Komponenten schon vor :D. In einem Button kann man z.B. mehrere Listener anmelden, deren Methoden dann aufgerufen werden bei einem Klick.

Wenn man sich selber eine GUI baut, ist es oft nichtmal notwendig, dass eine Klasse mehrere Benachrichtigungen absenden können muss. Dafür bau ich mir dann einfach ein Interface (was im Prinzip die gleiche Funktion erfüllt, wie ein Listener). Dieses Interface stellt gewisse Methoden bereit, welche dann von der Komponente aufgerufen werden bei bestimmten Ereignissen.

Das sieht dann ungefähr so aus:

Code:
 // MeinFrame Callback-Interface
 public interface MeinFrameCallback
 {
  public void formularAbsenden(String name);
 }

Code:
 // MeinFrame
 public MeinFrame extends JFrame
 {
  MeinFrameCallback callback;

  JTextField tf_name;
  JButton bu_ok;

  public MeinFrame()
  {
   super("MeinFrame Titel");

   // Hinzufügen von einem Textfeld und einem Button
   initComponents();

   validate();
   pack();   
  }

  void initComponents()
  {
    setLayout(new BorderLayout());

    this.tf_name = new JTextField();
    add(this.tf_name);

    this.bu_ok = new JButton("OK");
    // einen Listener für den Button registrieren
    this.bu_ok.setActionListener(
     new ActionListener()
     {
      public void actionPerformed(ActionEvent e)
      {
        // Wenn Button geklickt, dann reiche das Ereignis samt Inhalt des Textfeldes an das Callback-Interface weiter
        if (callback != null)
         callback.formularAbsenden(tf_name.getText());
      }
     }
    );
  }

  // get/set Methoden für das Callback-Interface, wobei get nicht in jedem Fall gebraucht wird
  public MeinFrameCallback getCallback()
  {
   return this.callback;
  }

  public void setCallback(MeintFrameCallback callback)
  {
   this.callback = callback;
  }
 }

Auf diese Weise kann man MeinFrame mitteilen, dass man über gewisse Ereignisse benachrichtigt werden möchte.

Code:
 ...
 MeinFrame mf = new MeinFrame();
 // Callback Interface bei MeinFrame registrieren
 mf.setCallback(
  new MeinFrameCallback()
  {
   public void formularAbsenden(String name)
   {
    System.out.println("Formular in MeinFrame wurde abgesendet: Name: " + name);
   }
  }
 );

Das wäre nur mal so ein dahingetipptes Beispiel. Die nötigen import's Fehlen und Syntaxfehler können evtl. auch noch drin sein; habs nicht compiliert :D

Wenn du auch mehrere Listener benachrichtigen willst, dann kannst du Dir mal das hier anschauen:

http://www.galileocomputing.de/open...22_004.htm#mjfbd40dc6df77cf1a7f68eb27359b7468
 
G

Guest

Gast
Das ist ok ... ich denke das wird mich erstmal weiterbringen. Ich probiere es mal aus ob ich es hin bekomme ... auf jeden Fall vielen Danl für die schnellen Antworten.

MFG Andre
 
G

Guest

Gast
Ok ich habe das alles jetzt mal ausprobiert und es funktioniert genauso wie ich es wollte ... musste ein paar Codeänderungen vornehmen ... aber es geht ... vielen Dank für die Info :) :) :) ... Ich glaube diesen Thread können wir als gelöst betrachten.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Übungsaufgabe Event Handling Java Basics - Anfänger-Themen 0
U Threadsafe Event-Handling Java Basics - Anfänger-Themen 2
C Klassen NullPointerException beim Event Handling in GUI Java Basics - Anfänger-Themen 8
N paint methode statt Event-Handling-Methode Java Basics - Anfänger-Themen 3
B Applet: Event-Handling-Methode in start- bzw. paint-Methode Java Basics - Anfänger-Themen 7
J Event-Handling geht nicht Java Basics - Anfänger-Themen 6
G start-oder paint-Methode anstatt Event-Handling-Methode? Java Basics - Anfänger-Themen 3
Fiedelbambu fxml onAction event Java Basics - Anfänger-Themen 7
T FXMl Event has not a Slot Java Basics - Anfänger-Themen 1
E Methoden Action Event wird nicht vollständig ausgeführt Java Basics - Anfänger-Themen 3
Tommy135 Event erstellen Java Basics - Anfänger-Themen 7
CptK Methoden Event bei gedrückter Maustaste immer wieder ausführen Java Basics - Anfänger-Themen 1
CptK Klassen Event bei gedrückter Maus immer wieder mit Pause ausführen Java Basics - Anfänger-Themen 2
topi WindowAdapter / Listener / Event Java Basics - Anfänger-Themen 4
L Event schmeißen Java Basics - Anfänger-Themen 1
F In Eclipse Haltepunkt bei Event setzen? Java Basics - Anfänger-Themen 1
M Action Event auf Textfield legen Java Basics - Anfänger-Themen 18
V Button/Event wird nicht ausgeführt, was tun? Java Basics - Anfänger-Themen 2
J Keyboard Event auch ohne Fokus mitbekommen Java Basics - Anfänger-Themen 2
D Java Eclipse cannot be cast to java.awt.event.ItemListener Java Basics - Anfänger-Themen 3
IngoF Welches Event kommt wann? Java Basics - Anfänger-Themen 8
A Key Event - Abfrage von 2 gedrückten Tasten Java Basics - Anfänger-Themen 6
E Event gesucht Java Basics - Anfänger-Themen 1
G Button Event Java Basics - Anfänger-Themen 6
Thallius Hidden Feature über Key Event starten Java Basics - Anfänger-Themen 4
A Labels Inner JButton Event Erstellbar? Java Basics - Anfänger-Themen 3
F Erste Schritte Aktuelles Fenster durch Event schließen Java Basics - Anfänger-Themen 3
D Button action Event einblenden/ausblenden Java Basics - Anfänger-Themen 6
P ActionListener Action Event Java Basics - Anfänger-Themen 5
J Erste Schritte import awt.* ;awt.event.*; Java Basics - Anfänger-Themen 3
T event und while-schleife Java Basics - Anfänger-Themen 26
L Null Pointer Exception bei Focus Event bei einem JTextField Java Basics - Anfänger-Themen 2
M Während event einen anderen event ausführen?? Java Basics - Anfänger-Themen 3
S Event aus anderer Klasse als Auslöser Java Basics - Anfänger-Themen 5
M Event erstellen Java Basics - Anfänger-Themen 6
B OOP Eigener Event-Listener erstellen Java Basics - Anfänger-Themen 4
D Eigenes Event beim TimeOut Java Basics - Anfänger-Themen 2
D Auf Event warten Java Basics - Anfänger-Themen 4
I AWS Event Notification Service Sample ausführen... Java Basics - Anfänger-Themen 7
M JList Event Java Basics - Anfänger-Themen 5
Houly while Schleife im ActionPerformed Event Java Basics - Anfänger-Themen 8
R eigenen Event schreiben Java Basics - Anfänger-Themen 16
S Kein Event bei Click auf JComboBox Java Basics - Anfänger-Themen 4
Q Eigenes Event feuern Java Basics - Anfänger-Themen 5
H2SO3- dreieck, bild --> maus klick event. Wie gehts? Java Basics - Anfänger-Themen 10
R Event in eigener Klasse implementieren ? Java Basics - Anfänger-Themen 8
D Window resize Event ? Java Basics - Anfänger-Themen 5
D Bei Event soll Instanz sich selbst löschen Java Basics - Anfänger-Themen 4
D Event mit n-Button8s) von einem Panel Java Basics - Anfänger-Themen 9
GilbertGrape Eigenes Event? Java Basics - Anfänger-Themen 2
A Synchronisierung oder gibt es das onChange event? Java Basics - Anfänger-Themen 4
J Automatisch Button drücken/Event ausführen? Java Basics - Anfänger-Themen 6
G Button Action Event starten Java Basics - Anfänger-Themen 4
G Methode nicht im Event-Dispatcher-Thread starten? Java Basics - Anfänger-Themen 2
F Doppelklick-Event auf JTree Java Basics - Anfänger-Themen 5
A Wo/Wie Event Listener Java Basics - Anfänger-Themen 3
N Event auf JTabbedPane abfragen ? Java Basics - Anfänger-Themen 8
G Event Handler Java Basics - Anfänger-Themen 7
T button event Java Basics - Anfänger-Themen 3
P Raw-Key-Event Java Basics - Anfänger-Themen 4
Q ActionListener event bei JPanels Java Basics - Anfänger-Themen 5
G Button event problem Java Basics - Anfänger-Themen 24
B Eigenes Event schreiben Java Basics - Anfänger-Themen 7
D MouseLister und Identifikation des Event - Buttons Java Basics - Anfänger-Themen 4
T java.awt.event.WindowAdapter Java Basics - Anfänger-Themen 2
B Event-Actionlistener(Def) Java Basics - Anfänger-Themen 6
M Event auslösen (unsinnig gestellt - ignorieren) Java Basics - Anfänger-Themen 4
M [SOLVED]Swing Event Management Java Basics - Anfänger-Themen 7
N Runtime.exec und Key event Java Basics - Anfänger-Themen 2
C Klasse muss auf Event in einer anderen Klasse reagieren Java Basics - Anfänger-Themen 7
G JTable - Event - MVC Java Basics - Anfänger-Themen 10
J Event-Hilfe Java Basics - Anfänger-Themen 4
T Event zu bestimmter Uhrzeit auslösen ? Java Basics - Anfänger-Themen 5
S MausKlickZähler - Event Problem Java Basics - Anfänger-Themen 2
M Kommunikation zwischen GUI und Event -Klasse Java Basics - Anfänger-Themen 3
C mouseDown (Event e, int x, int y) rechts oder linksklick ? Java Basics - Anfänger-Themen 10
D if (event.target instanceof TextField) Java Basics - Anfänger-Themen 2
I JAX-RS Exception Handling Java Basics - Anfänger-Themen 4
J Thread Handling Java Basics - Anfänger-Themen 9
M Exception Handling Java Basics - Anfänger-Themen 2
llabusch Exceotion.Handling Aufgabe mit "throw" Java Basics - Anfänger-Themen 13
G Frage zu Exception-Handling Java Basics - Anfänger-Themen 5
U [Problem] Handling multiple frames Java Basics - Anfänger-Themen 5
T batch handling Java Basics - Anfänger-Themen 11
S Threads Handling multiple different Threads Java Basics - Anfänger-Themen 7
X JFrame als JAR unsichtbar trotz Exception Handling Java Basics - Anfänger-Themen 5
S Schlechter Stil beim Exception Handling Java Basics - Anfänger-Themen 6
S Exception-Handling in main-Funktion? Java Basics - Anfänger-Themen 6
S Exception Handling Java Basics - Anfänger-Themen 4
M Frage zu Exception Handling Java Basics - Anfänger-Themen 10
P Handling mit 2D-Arrays Java Basics - Anfänger-Themen 9
D Exception Handling Java Basics - Anfänger-Themen 3
Z csv Dateien und ihr Handling Java Basics - Anfänger-Themen 3
D OOP Exception Handling - NullPointerException Java Basics - Anfänger-Themen 17
B jTextField handling in Berechnungsprogramm Diskussion Java Basics - Anfänger-Themen 4
M Exception handling Java Basics - Anfänger-Themen 5
T Exception-Handling beim Lesen einer XML-Datei mit XMLDecoder Java Basics - Anfänger-Themen 4
G Exception-Handling Java Basics - Anfänger-Themen 6
L Thread-Handling & Standard-Ausgabe verschönern Java Basics - Anfänger-Themen 7
D Thread Handling Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben