1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Problem mit Swing: statt 1 Fenster werden 2 gemacht und auch Funkionen "aufgeteilt"

  • mtintel
  • 17. November 2006 um 13:35
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • mtintel
    Punkte
    14.759
    Beiträge
    2.654
    • 17. November 2006 um 13:35
    • #1

    Ich will ein Fenster machen, wo eine Grafik, ein Pulldown Menü und oben eine Menüleiste (wo man nur Info auswählen kann) angezeigt wird.

    Das Problem ist aber ,dass er mir nur ein Fenster macht, mit der Grafik und dem Pulldown, und wenn ich das schließe, er mir dann noch ein anderes, kleines Fenster anzeigt, wo dann darin die Menüleiste ist und kann einfach nicht den Fehler finden warum er mir 2 Fenster macht, und das zweite auch erst dann anzeigt, wenn ich das andere schließe :(.

    Java
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    
    
    public class UI extends JFrame
    {
        JMenuBar menueLeiste;
        JMenu Info;
    
        public UI ()
        {
            super ("Eingabe- Dialog");
    
            menueLeiste = new JMenuBar();
            Info = new JMenu ("Info");
    
    
            //Menues in Menuleiste eintragen
            menueLeiste.add (Info);
    
    
            setJMenuBar(menueLeiste); //menueLeiste als Menuezeile festlegen
    
            JPanel cp = new JPanel(); //Panel erzeugen
            setContentPane(cp);
    
    
            Object[]werte = {"10","20","30","40","50","60","70","80","90","100"}; 
            String s = (String)
            JOptionPane.showInputDialog(cp, "Wählen sie die Intensität aus:",
                                            "Meeresrauschen",
                                            JOptionPane.INFORMATION_MESSAGE,
                                            new ImageIcon("Meerklein.jpg"),
                                            werte, "20");
        }
    
        public static void main (String [] args)
        {
            JFrame rahmen = new UI();
    
            WindowListener listener = new WindowAdapter()
    
            {
                public void windowCLosing(WindowEvent we)
                {
                    System.exit(0);
                }
            };
    
            rahmen.addWindowListener(listener);
            rahmen.setSize(300,100);
            rahmen.setVisible(true);
        }
    }
    Alles anzeigen
  • a9bejo
    Punkte
    4.697
    Beiträge
    913
    • 17. November 2006 um 14:39
    • #2
    Zitat von mtintel

    ... kann einfach nicht den Fehler finden warum er mir 2 Fenster macht, und das zweite auch erst dann anzeigt, wenn ich das andere schließe :(.

    Du rufst im Konstruktor von Deinem Zweiten Fenster (UI) die Methode JOptionPane.showInputDialog() auf. Diese Methode erstellt das erste Fenster und blockiert solange, bis du den Dialog wieder schliesst.

    Erst dann wird der Konstruktor weiter bearbeitet. Da aber der Konstruktor nicht nach sondern beim Eerstellen der Instanz von der Klasse 'GUI' aufgerufen wird, gibt es dieses Objekt (also das zweite Fenster) erst, wenn der Dialog geschlossen wurde.

  • Maximilian Rupp 27. Dezember 2024 um 12:05

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

  1. Datenschutzerklärung
  2. Impressum