G
Gelöschtes Mitglied 55561
Gast
Moin,
ich programmiere gerade eine Art "Wer wird Millionär" und ich habe dabei das Problem das der Button nach der 1. Frage im 2. Fragefenster Automatisch gedrückt wird....
Ich hoffe ihr versteht mein Problem und könnt mir helfen.
Ich weiß ist nicht gerade sauber programmiert....
Hier mein Hauptprogramm:
Und hier die die Class wo mein Problem ist:
ich programmiere gerade eine Art "Wer wird Millionär" und ich habe dabei das Problem das der Button nach der 1. Frage im 2. Fragefenster Automatisch gedrückt wird....
Ich hoffe ihr versteht mein Problem und könnt mir helfen.
Ich weiß ist nicht gerade sauber programmiert....
Hier mein Hauptprogramm:
Java:
package Spiel;
import javax.swing.JOptionPane;
public class Hauptprogramm
{
public static void main(String[] args) // Anfang Hauptprogramm
{
//--------------------Variablendeklaration--------------------
MillionaerUpdate MU = new MillionaerUpdate();// konstruiert ein Spiel
String Menü;
int menü;
//--------------------Eingaben & Ausgaben--------------------
do
{
Menü= JOptionPane.showInputDialog ("Was möchten Sie tun? \n" +
"1. Spielen\n" +
"2. Spiel beenden");
menü = Integer.parseInt(Menü);
switch(menü)
{
case 1:
MU.Spiel();
break;
case 2: System.exit( 0 );
default: JOptionPane.showMessageDialog(null, "Falsche Eingabe!");
break;
}
}while(!(menü==1 || menü==2));
}
}
Und hier die die Class wo mein Problem ist:
Java:
package Spiel;
import javax.swing.*;
import java.awt.*; //Alle Pakete von AWT werden eingebunden
import java.awt.event.*; //Wird benötigt für ActionListener
public class MillionaerUpdate implements ActionListener{
private JFrame Rahmen = new JFrame("Wirst du Millionär? Frage 1.");
private JPanel Platte = new JPanel();
private JLabel Label = new JLabel ("Alle Wege führen nach....?");
private JButton Knopf1 = new JButton ("Malle");
private JButton Knopf2 = new JButton ("Rom");
private JButton Knopf3 = new JButton ("Athen");
private JButton Knopf4 = new JButton ("New York");
private int i = 0;
private boolean antwort = false;
public MillionaerUpdate() { //Konstruktor
JOptionPane.showMessageDialog(null, "Wirst du Millionär?");
}
public void Spiel() {
Rahmen.setSize (800,500);
Rahmen.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
Platte.setLayout(new GridLayout(5, 1));
Platte.add (Label);
Platte.add (Knopf1);
Platte.add (Knopf2);
Platte.add (Knopf3);
Platte.add (Knopf4);
Rahmen.setContentPane (Platte);
Rahmen.setLocation(400,200);
Knopf1.addActionListener(this);//fügt ActionListener hinzu damit der Computer weiß das ein Knopf gedrückt wurde
Knopf2.addActionListener(this);
Knopf3.addActionListener(this);
Knopf4.addActionListener(this);
Rahmen.setVisible(true);
}
public void actionPerformed(ActionEvent a) {
i++;
do {
switch(i) {
case 1:
if(a.getSource() == Knopf1)
{
Knopf1.setBackground(Color.RED);
Knopf1.removeActionListener(this);//wird entfernt damit der Knopf nicht nochmal gedrückt werden kann
antwort= false;
}
else if(a.getSource() == Knopf2)
{
Knopf2.setBackground(Color.GREEN);
Knopf2.removeActionListener(this);
antwort= true;
}
else if(a.getSource() == Knopf3)
{
Knopf3.setBackground(Color.RED);
Knopf3.removeActionListener(this);
antwort= false;
}
else if(a.getSource() == Knopf4)
{
Knopf4.setBackground(Color.RED);
Knopf4.removeActionListener(this);
antwort= false;
}
richtigfalsch();
break;
case 2:
antwort=false;
Rahmen.dispose();
Rahmen = new JFrame("Wirst du Millionär? Frage 2.");
Platte = new JPanel();
Label = new JLabel ("Der längste Fluss der Welt ist....?");
Knopf1 = new JButton ("der Rhein");
Knopf2 = new JButton ("die Schwentine");
Knopf3 = new JButton ("der Amazonas");
Knopf4 = new JButton ("der Nil");
Spiel();
if(a.getSource() == Knopf1)
{
Knopf1.setBackground(Color.RED);
Knopf1.removeActionListener(this);//wird entfernt damit der Knopf nicht nochmal gedrückt werden kann
antwort= false;
}
else if(a.getSource() == Knopf2)
{
Knopf2.setBackground(Color.RED);
Knopf2.removeActionListener(this);
antwort= false;
}
else if(a.getSource() == Knopf3)
{
Knopf3.setBackground(Color.RED);
Knopf3.removeActionListener(this);
antwort= false;
}
else if(a.getSource() == Knopf4)
{
Knopf4.setBackground(Color.GREEN);
Knopf4.removeActionListener(this);
antwort= true;
}
richtigfalsch();
break;
}
}while(antwort==true);
}
public void richtigfalsch () {
if(antwort == true) {
i++;
JOptionPane.showMessageDialog(null, "Richtig!");
} else {
JOptionPane.showMessageDialog(null, "Leider falsch, vielleicht klappt es beim nächsten mal! \n Das Programm wird jetzt beendet.");
System.exit( 0 );
}
}
}