Guten Abend,
ich bin gerade dabei einen kleines 1x1 Trainer für meine kleine Schwester zu programmieren.
Ich habe eine Variable angelegt für die Anzahl der Wiederholungen und ein JTextfield, das mir per Enter-Taste die Eingabe einliest.
Das Programm soll wenn sie eine Frage beantwortet hat und entweder ein „Richtig“ oder „Falsch“ bekommen hat zur nächsten Aufgabe gehen.
Ich habe ein Problem dies in eine Schleife zu packen, vielleicht könnt ihr mir da weiter helfen. Mein Code, der entsprechenden Klasse, sieht derzeit so aus:
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyListener;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class programm extends JFrame implements KeyListener
{
static JFrame prog = new JFrame("spiel");
public static void rechner(final int zahl)
{
try
{
prog.setContentPane(new JLabel(new ImageIcon(ImageIO.read(new File(
"C:/Users/kim/Desktop/back.jpg")))));
}
catch (IOException e)
{
System.out.println("da ging was schief");
e.printStackTrace();
}
final JTextField text = new JTextField();
prog.add(text);
text.setBounds(450, 600, 40, 40);
text.setBorder(BorderFactory.createEmptyBorder());
text.addKeyListener(null);
text.setFont(new java.awt.Font("Book Antiqua", 0, 20));
final JLabel schrift = new JLabel();
schrift.setFont(new java.awt.Font("Book Antiqua", 0, 28));
schrift.setForeground(Color.WHITE);
schrift.setBounds(140, 100, 200, 20);
text.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
int y = (int) ((Math.random() * 10) + 1);
String ergebnis;
int erg = 0;
int counter = einstellungen.getAnzahl();
ergebnis = text.getText();
erg = Integer.parseInt(ergebnis);
if (counter > 0)
{
schrift.setText("was ist " + zahl + " * " + y);
if (erg == zahl * y)
{
counter--;
schrift.setText("super");
}
else
{
schrift.setText("falsch");
}
}
}
});
prog.add(text);
prog.pack();
prog.setVisible(true);
prog.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
prog.setFocusable(true);
prog.setLayout(null);
prog.setVisible(true);
schrift.setOpaque(false);
prog.add(schrift);
}
}
Mit freundlichen Grüßen,
blume
PS: Hoffe das passt hier rein ins Thema.