Dialog schließt erst nach 2x Klicken auf Schließen

anny96

Mitglied
Hallo :)
Ich muss im Informatikunterricht ein eigenes Programm erstellen und habe mich für ein Gehörbildungsprogramm entschieden. Wir haben keine richtige Einführung in Java bekommen, ich bin also totaler Anfänger.
Ich habe jetzt schon eine Startseite, auf der man den Trainingsschwerpunkt "Intervalle" wählen kann. Dann öffnet sich ein Dialog, der sich aber erst nach dem 2. Klick auf das Kreuz oben in der Ecke schließt. Jetzt habe ich einen Button erstellt, aber auch mit diesem lässt sich der Dialog erst beim 2. Klick schließen. Was habe ich falsch gemacht?

Startseite

Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

/**
  *
  * Beschreibung
  *
  * @version 1.0 vom 04.01.2016
  * @author
  */

public class Startseite extends JFrame {
  // Anfang Attribute
  private JLabel jLabel1 = new JLabel();
  private JLabel jLabel2 = new JLabel();
  private JButton jButton1 = new JButton();
  private JButton jButton2 = new JButton();
  private JButton jButton3 = new JButton();
  // Ende Attribute

  public Startseite(String title) {
    // Frame-Initialisierung
    super(title);
    setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    int frameWidth = 350;
    int frameHeight = 500;
    setSize(frameWidth, frameHeight);
    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
    int x = (d.width - getSize().width) / 2;
    int y = (d.height - getSize().height) / 2;
    setLocation(x, y);
    setResizable(false);
    Container cp = getContentPane();
    cp.setLayout(null);
    // Anfang Komponenten

    jLabel1.setBounds(48, 24, 251, 41);
    jLabel1.setText("Willkommen bei Quick Ear");
    jLabel1.setFont(new Font("Dialog", Font.BOLD, 18));
    cp.add(jLabel1);
    cp.setBackground(new Color(0xFFC800));
    jLabel2.setBounds(64, 72, 215, 33);
    jLabel2.setText("Wähle deinen Trainingsschwerpunkt:");
    cp.add(jLabel2);
    jButton1.setBounds(56, 128, 233, 57);
    jButton1.setText("Intervalle");
    jButton1.setMargin(new Insets(2, 2, 2, 2));
    jButton1.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        jButton1_ActionPerformed(evt);
      }
    });
    jButton1.setBackground(new Color(0xEEEEEE));
    cp.add(jButton1);
    jButton2.setBounds(56, 216, 233, 57);
    jButton2.setText("Dreiklänge");
    jButton2.setMargin(new Insets(2, 2, 2, 2));
    jButton2.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        jButton2_ActionPerformed(evt);
      }
    });
    cp.add(jButton2);
    jButton3.setBounds(56, 304, 233, 57);
    jButton3.setText("Tonleitern");
    jButton3.setMargin(new Insets(2, 2, 2, 2));
    jButton3.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        jButton3_ActionPerformed(evt);
      }
    });
    cp.add(jButton3);
    // Ende Komponenten

    setVisible(true);
  } // end of public Startseite

  // Anfang Methoden

  public static void main(String[] args) {
    new Startseite("Startseite");
  } // end of main

  public void jButton1_ActionPerformed(ActionEvent evt) {
    // TODO hier Quelltext einfügen
    Intervalle Dialog = new Intervalle(this,"Intervalle",true);
    Dialog.setVisible(true);
  } // end of jButton1_ActionPerformed

  public void jButton2_ActionPerformed(ActionEvent evt) {
    // TODO hier Quelltext einfügen
    Dreiklaenge Dialog = new Dreiklaenge(this,"Dreiklaenge",true);
    Dialog.setVisible(true);
  } // end of jButton2_ActionPerformed

  public void jButton3_ActionPerformed(ActionEvent evt) {
    // TODO hier Quelltext einfügen
    Tonleitern Dialog = new Tonleitern(this,"Tonleitern",true);
    Dialog.setVisible(true);
  } // end of jButton3_ActionPerformed

  // Ende Methoden
} // end of class Startseite



Dialog für Intervalle

Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

/**
  *
  * Beschreibung
  *
  * @version 1.0 vom 04.01.2016
  * @author
  */

public class Intervalle extends JDialog {
  // Anfang Attribute
  private JButton jButton1 = new JButton();
  private JTextField jTextField1 = new JTextField();
  private JTextArea jTextArea1 = new JTextArea("");
    private JScrollPane jTextArea1ScrollPane = new JScrollPane(jTextArea1);
  private JButton jButton2 = new JButton();
  // Ende Attribute

  public Intervalle(JFrame owner, String title, boolean modal) {
    // Dialog-Initialisierung
    super(owner, title, modal);
    setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    int frameWidth = 350;
    int frameHeight = 500;
    setSize(frameWidth, frameHeight);
    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
    int x = (d.width - getSize().width) / 2;
    int y = (d.height - getSize().height) / 2;
    setLocation(x, y);
    Container cp = getContentPane();
    cp.setLayout(null);
    // Anfang Komponenten

    cp.setBackground(new Color(0xFFC800));
    jButton1.setBounds(104, 88, 137, 129);
    jButton1.setText("Hörbeispiel");
    jButton1.setMargin(new Insets(2, 2, 2, 2));
    jButton1.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        jButton1_ActionPerformed(evt);
      }
    });
    cp.add(jButton1);
    jTextField1.setBounds(80, 272, 177, 33);
    cp.add(jTextField1);
    jTextArea1ScrollPane.setBounds(40, 328, 257, 41);
    jTextArea1.setText("Gib die Abkürzung des gehörten Intervalls, \nzum Beispiel g3 für eine große Terz, ein.");
    cp.add(jTextArea1ScrollPane);
    jButton2.setBounds(80, 408, 185, 33);
    jButton2.setText("Training beenden");
    jButton2.setMargin(new Insets(2, 2, 2, 2));
    jButton2.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        jButton2_ActionPerformed(evt);
      }
    });
    cp.add(jButton2);
    // Ende Komponenten

    setResizable(false);
    setVisible(true);
  } // end of public Intervalle

  // Anfang Methoden
  public void jButton1_ActionPerformed(ActionEvent evt) {
    // TODO hier Quelltext einfügen
  } // end of jButton1_ActionPerformed

  public void jButton2_ActionPerformed(ActionEvent evt) {
    // TODO hier Quelltext einfügen
       this.dispose();
  } // end of jButton2_ActionPerformed

  // Ende Methoden

} // end of class Intervalle


LG Anny
 
Zuletzt bearbeitet von einem Moderator:

Thomas1981

Mitglied
Hallo Anny,

lass mal das setVisible(true) weg in deiner Klasse Intervalle.
Sollte dann wie gewünscht funktionieren.

Java:
 setResizable(false);
 setVisible(true); // dieses löschen bzw. auskommentieren !!
  } // end of public Intervalle

Lg Tom
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Potenzberechnung über switch case. Taschenrechner mit Eingabe über einen grafischen Dialog Java Basics - Anfänger-Themen 22
JEP1 Java Dialog Fenster schließen Spiel Java Basics - Anfänger-Themen 0
F Dialog wird nach Schließung neu geöffnet Java Basics - Anfänger-Themen 4
P Threads Im Dialog geöffneter Thread zeichnet nicht Java Basics - Anfänger-Themen 4
G Dialog Java Basics - Anfänger-Themen 2
T requestFocus() nach modalem Dialog Java Basics - Anfänger-Themen 3
J Über ... Dialog (Mac OS) Java Basics - Anfänger-Themen 8
B Bestimmungspfad im Dialog auswaehlen Java Basics - Anfänger-Themen 9
S Dialog im Thread Java Basics - Anfänger-Themen 2
J Willkürlich geöffnetes Fenster/Dialog anspielen? Java Basics - Anfänger-Themen 3
D Eingabe aus Dialog, Ergebnis an Panel Java Basics - Anfänger-Themen 2
H customized dialog Java Basics - Anfänger-Themen 2
C Felder im Dialog zurücksetzen Java Basics - Anfänger-Themen 3
J SWT / Datei-Öffnen Dialog Java Basics - Anfänger-Themen 2
S Dialog dynamisch vergrößern Java Basics - Anfänger-Themen 2
jnoob Checkbox in Dialog Dynamisch erstellen Java Basics - Anfänger-Themen 2
H Internes Dialog im Programm Java Basics - Anfänger-Themen 15
Q Wie öffne ich einen "Speichern unter" - Dialog? Java Basics - Anfänger-Themen 2
G Button soll Speicher Dialog aufrufen Java Basics - Anfänger-Themen 10
D dialog listener? Java Basics - Anfänger-Themen 2
F Vom Dialog zum Hauptframe Java Basics - Anfänger-Themen 3
M HTML in JOptionPane-Dialog aber keine Links Java Basics - Anfänger-Themen 6
G Controls einem Dialog uebergeben Java Basics - Anfänger-Themen 4
M Dialog im undecorated Fullscreen Java Basics - Anfänger-Themen 2
M JOptionPane - Dialog Java Basics - Anfänger-Themen 6
G Dialog soll nicht in Vordergrund springen Java Basics - Anfänger-Themen 13
I Dialog - "Ja" / "Nein" abfangen Java Basics - Anfänger-Themen 3
I SaveFile Dialog - wie realisieren ? Java Basics - Anfänger-Themen 4
G Dialog wird nicht angezeigt Java Basics - Anfänger-Themen 3
J Dateiöffnen-Dialog und einlesen Java Basics - Anfänger-Themen 6
K SourceFolder Dialog Java Basics - Anfänger-Themen 8
Bernasconi Dialog und Fenster Liste? Java Basics - Anfänger-Themen 10
V Text aus Dialog auslesen. Java Basics - Anfänger-Themen 3
E "Datei öffnen"-Dialog Java Basics - Anfänger-Themen 2
M Dialog aus Menü aufrufen Java Basics - Anfänger-Themen 13
K Probleme mit AWT Dialog Java Basics - Anfänger-Themen 8
5 File->Open Dialog mit nachheriger Aktion ausführen. Java Basics - Anfänger-Themen 3
G Schrift-Auswahl-Dialog? Java Basics - Anfänger-Themen 6
M JFileChooser Überschreiben Dialog? Java Basics - Anfänger-Themen 2
C Dialog immer vor Hauptfenster anzeigen Java Basics - Anfänger-Themen 9
T Wie öffne ich einen Dialog? Java Basics - Anfänger-Themen 3
D Dialog mit eigenem Bild Java Basics - Anfänger-Themen 7
F Dialog mit allen verfügbaren Druckern Java Basics - Anfänger-Themen 2
G Input Dialog Problem Java Basics - Anfänger-Themen 11
F Dialog zum Durchsuchen von Verzeichnissen nach Datei Java Basics - Anfänger-Themen 11
V List mit Dialog Java Basics - Anfänger-Themen 3
V Ein Fenster durch Menu-Dialog schliessen Java Basics - Anfänger-Themen 2
I Dialog Fenster anzeigen lassen. Java Basics - Anfänger-Themen 2
A Tabulator in Dialog Java Basics - Anfänger-Themen 2
P Funktion einer anderen Klasse aus einem Dialog aufrufen Java Basics - Anfänger-Themen 8
G Dialog-Problem Java Basics - Anfänger-Themen 6
G Logging-Ausgabe in einem Dialog Java Basics - Anfänger-Themen 2
DEvent modaler dialog: showmodal ? Java Basics - Anfänger-Themen 4
EagleEye Dialog Java Basics - Anfänger-Themen 2
M Ändern einer Socket-Eigenscheft aus einem modalen Dialog? Java Basics - Anfänger-Themen 6
Thomathy Interface Wie schließt man ein anderes JFrame Fenster? Java Basics - Anfänger-Themen 6
J CMD schließt sich automatisch Java Basics - Anfänger-Themen 5
Hanschyo Programm schließt sich einfach Java Basics - Anfänger-Themen 2
B Konsole schließt sich sofort Java Basics - Anfänger-Themen 8
M Input/Output Scanner schließt nicht Java Basics - Anfänger-Themen 2
D Frame schließt gleich alle Frames Java Basics - Anfänger-Themen 5
B warum schließt synchronized andere threads nicht aus? Java Basics - Anfänger-Themen 7
M DOS-Ausgabefenster schließt nach Hundertstelsekunde - Wie kann ich das abschalten? Java Basics - Anfänger-Themen 5
P FileDiaglog schließt nicht Java Basics - Anfänger-Themen 9
R windowclosing - fenster schließt immer trotz abfrage Java Basics - Anfänger-Themen 2
G JWindow schließt mit dispose() nicht richtig Java Basics - Anfänger-Themen 2
A Fenster bleibt leer und schließt sich nicht Java Basics - Anfänger-Themen 26
W JComboBox- Auswahl schließt komplettes Fenster Java Basics - Anfänger-Themen 10
G Programm schließt sich nicht Java Basics - Anfänger-Themen 5
I Java Mail Timeout erst nach rund 5 Minuten? Java Basics - Anfänger-Themen 9
FireHorses Einen Command erst nach einer Chateingabe aktivieren Java Basics - Anfänger-Themen 1
berserkerdq2 Findet eine parallele Verarbeitung in Java bei Threads erst statt, wenn man die Methoden auch synchronized? Und wie sieht bei Conditions aus? Java Basics - Anfänger-Themen 8
F Initialisieren eines Web-Mp3 Players in Tabs durch "booleans" erst wenn Tab geöffnet wird ...? Java Basics - Anfänger-Themen 1
M Java GUI label ändert sich erst zum Schluss Java Basics - Anfänger-Themen 4
J Input/Output Den zweiten Output erst nach Eingabe ausgeben Java Basics - Anfänger-Themen 4
S OOP Button erst nach 2x klicken deaktivieren Java Basics - Anfänger-Themen 4
P Weiter erst bei Drücken de Enter-TAste Java Basics - Anfänger-Themen 1
W Es wird erst gezeichnet, wenn ich das Fenster vergrößere? Java Basics - Anfänger-Themen 20
B FileWatcher : Erst Rückmeldung wenn komplett kopiert? Java Basics - Anfänger-Themen 3
I Zähler, der erst wieder zählt nachdem Pixel wieder andere Farbe hat Java Basics - Anfänger-Themen 2
Clarence Weinberg Eclipse: Package wird erst nach Neustart aktuallisiert Java Basics - Anfänger-Themen 1
T Erste Schritte Elemente finden, deren Name erst "zusammengesetzt" wird Java Basics - Anfänger-Themen 8
R Text Pane Aktualisierung erst nach JOptionPane Java Basics - Anfänger-Themen 10
M globales Array erst mittem im Programm erstellen Java Basics - Anfänger-Themen 14
R Variablen Datentyp erst während Laufzeit festlegen Java Basics - Anfänger-Themen 6
B Erst lesen: Automatisch Texteingabe bestätigen Java Basics - Anfänger-Themen 6
S Inhalt von JPanel erst nach Resize sichtbar Java Basics - Anfänger-Themen 2
S JButton erscheint erst bei Mouseover Java Basics - Anfänger-Themen 10
M Tabelle aktualisiert sich erst nach mausklick Java Basics - Anfänger-Themen 4
E Methode erst nach 20 Sekunden ausführen? Java Basics - Anfänger-Themen 4
A JLabel erst auf null dann auf einen Wert setzen Java Basics - Anfänger-Themen 7
I Befehl wird erst nach dem Ausführen einer Funktion ausgeführt Java Basics - Anfänger-Themen 4
I Funktion erst starten nachdem eine komplett fertig ist Java Basics - Anfänger-Themen 4
M Buttons erscheinen erst bei Mouse-Over Java Basics - Anfänger-Themen 8
C Prozess wird erst bei Beendigung des Programms ausgeführt Java Basics - Anfänger-Themen 2
V JFrame erst sichtbar machen wenns geladen ist Java Basics - Anfänger-Themen 8
Weiti Anzeige von komponenten erst bei Mouse-Over Java Basics - Anfänger-Themen 3
G Objekte von Klassen die erst zur Laufzeit bekannt sind erstellen Java Basics - Anfänger-Themen 6
B Hilfe: Tastatureingaben werden erst nach der Maus angenommen Java Basics - Anfänger-Themen 3
S Teil derGUI zeigt sich erst später Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben