Kleine Message Box.... nur wie?



  • Hallo Leute! 😃

    Ich möchte gerne eine kleine Message/Info-Box öffnen lassen. 🕶
    So eine, wie sie bei jedem Programm dabei ist. 😉
    Man geht im Menü auf ➡ Hilfe / ? ➡ Über... ➡ und schon öffnet sich die Box. 🙂
    Wie kann ich das am besten realisieren? 😕
    Bin leider noch Anfänger in grafischer Programmierung. 🙄

    Ich freu mich schon auf Antworten! 😃

    Viele Grüße



  • n neues JFrame wär ne möglichkeit..

    mfg



  • Danke für die Antwort!

    Habs jetzt aber mit

    ...
    public Dialog dialog = new Dialog(this, "Über...", true);
    ...
    dialog.addWindowListener(new MyWindowListener());
    ...
    

    gelöst. Nur jetz hab ich das Problem, dass das Programm
    geschlossen wird, wenn ich den Dialog schließe. Brauch
    ich da nen neuen WindowListener?



  • Woolve schrieb:

    Nur jetz hab ich das Problem, dass das Programm
    geschlossen wird, wenn ich den Dialog schließe. Brauch
    ich da nen neuen WindowListener?

    Kommt darauf an was Du in dem MyWindowListener stehen hast.
    Ich würde das einfach so lösen:

    class MyWindowListener extends WindowAdapter
    {
      public MyWindowListener(Dialog d)
     {
         this.d = d;
     }
    
     public void windowClosing(WindowEvent e) 
     {
         d.setVisible(false);
      }
    
     private Dialog d;
    }
    

    So versteckst Du einfach den Dialog. Bloß kein System.exit(0) oder so reinpacken. Die gängige vorgenesweise beim Bau von GUIs mit mehreren Dialogen ist, diese immer am Anfang alle erstellen (und halten) und erst bei Bedarf auf visible/invisble zu setzen.

    Tip: Schaue dir JOptionPane an. diese Klasse hat statische Methoden zum anzeigen von Dialogen so wie sie am häufigsten verwendet werden.
    zb

    JOptionPane.showMessageDialog(...
    

    Ein Dialog zum Auswählen und Speichern von Dateien hast Du mit dem JFileChooser gegeben.

    Gruß



  • Ahaaa......

    Also mein WindowListener sieht folgendermaßen aus:

    import java.awt.event.*;
    
    public class MyWindowListener extends WindowAdapter
    {
    	public void windowClosing(WindowEvent event)
    	{
    		System.exit(0);
    	}		// public void windowClosing()
    
    }			// public class MyWindowListener
    

    Das System.exit(0); brauch ich aber für das Main-Fenster.
    Und die ganzen Klassen mit "J" davor sind doch von Swing oder?
    Damit hab ich noch nix gemacht. Wollts erst mal so probieren.



  • System.exit beendet dein Programm. Egal ob aus Swing oder Konsole. Du brauchst dafür also einen eigenen Listener.



  • Na also! 👍

    Das war es, was ich wissen wollte. 😃
    Und wie sieht der Listener in dem Fall für die Message-Box aus? 😕
    Kann da bitte jmd den Code posten? 😕



  • Wie Komplex soll denn dein MessageDialog werden? Wenn du nur ein oder zwei Zeilen Text anzeigen willst könnte auch die JOptionPane mit showMessageDialog hilfreich sein.

    Hier ein Tutorial dazu: http://java.sun.com/docs/books/tutorial/uiswing/components/dialog.html



  • Geil! 😃

    Funktioniert! 😃
    Hab jetz

    JOptionPane.showMessageDialog(frame, "...");
    

    hergenommen und siehe da: ➡ ES GEHT! 😃
    *freude*

    Danke nochmal! 👍


Anmelden zum Antworten