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
Dialog für Intervalle
LG Anny
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: