1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • 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
  • mtintel
    37
    mtintel
    Mitglied
    Reaktionen
    19
    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

    HU: PISWIBibliothekHUStudentPointStatus Neuer Studienplan SammelzeugnisZID
    TU:
    TUWISBibliothekTULehrmittelzentrum TUWEL Neuer Studienplan Unifreie TageZID AbschlussarbeitenPublikationsdatenbank
    Studium: Informatik-Forum REBIRTHMitschriften1 Mitschriften2 Vorlesungs WikiForenkalender
    Allgemein: Apple on CampusUSIUniWikipedia WegfinderUni WegfinderÖffis (VOR)OpenBookMeine WebseiteBücherbörse
    Fehlende/nicht funktionierende
    Links bitte melden :)

  • a9bejo
    21
    a9bejo
    Mitglied
    Reaktionen
    42
    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.

    lg, Benjamin Ferrari, bookworm.at

  • Maximilian Rupp 27. Dezember 2024 um 12:05

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung