Hi, ich bin neu in der Java-Programmierung und will ein einfaches Rechenprogramm fürs große Einmaleins mit Swing Programmieren. Ich bin schon so weit gekommen, dass zwei Zufallszahlen ausgegeben werden mit einem Eingabefeld für das Ergebnis und einer Anzeige wie viele man schon richtig/falsch beantwortet hat. Bloß wenn man auf OK klickt passiert nichts, obwohl er das Ergebnis überprüfen und dementsprechend richtig/falsch um 1 erhöhen müsste. Es fehlt irgendwo eine Schleife aber ich hab keine Ahnung wo ich diese einsetzen soll. Kann auch sein, dass das was ich geschrieben hab der größte Müll ist und so gar nicht funktioniert
Hier das Programm bisher:
Vielen Dank im Voraus!
Java:
package Rechenprogramm;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Programm extends JFrame {
JTextField m_eingabe;
JTextField m_zufallszahl1;
JTextField m_zufallszahl2;
JLabel m_rechenzeichen;
JLabel m_gleichzeichen;
JTextField m_richtig;
JTextField m_falsch;
JButton m_ok;
int zahl1 = (int) (Math.random()*9)+1;
int zahl2 = (int) (Math.random()*9)+10;
int richtig = 0;
int falsch = 0;
int ergebnis = zahl1 * zahl2;
int eingabezahl = 0;
class actions implements ActionListener {
public void actionPerformed(ActionEvent e) {
try {
eingabezahl = Integer.parseInt(m_eingabe.getText());
if(ergebnis == eingabezahl) {
richtig++;
}
else {
falsch++;
}
}
catch(NumberFormatException ex){
System.out.println("Ergebnis ist keine Zahl");
}
}
}
Programm(String titel) {
super(titel);
m_eingabe = new JTextField("Ergebnis");
m_zufallszahl1 = new JTextField(""+zahl1);
m_zufallszahl1.setEditable(false);
m_zufallszahl2 = new JTextField(""+zahl2);
m_zufallszahl2.setEditable(false);
m_rechenzeichen = new JLabel(" * ");
m_gleichzeichen = new JLabel(" = ");
m_richtig = new JTextField("Richtig :" +richtig);
m_richtig.setEditable(false);
m_richtig.setForeground(Color.green);
m_richtig.setBackground(Color.white);
m_falsch = new JTextField("Falsch:" +falsch);
m_falsch.setEditable(false);
m_falsch.setForeground(Color.red);
m_falsch.setBackground(Color.white);
m_ok = new JButton("OK");
setLayout(new FlowLayout());
add(m_zufallszahl1);
add(m_rechenzeichen);
add(m_zufallszahl2);
add(m_gleichzeichen);
add(m_eingabe);
add(m_ok);
add(m_richtig);
add(m_falsch);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
m_ok.addActionListener(new actions());
}
public static void main(String[] args) {
Programm fenster = new Programm("Rechenprogramm");
fenster.setSize(500,100);
fenster.setVisible(true);
}
}
Vielen Dank im Voraus!