Hallo
dieses Applet funktioniert nur bis zum actionPerformed. Die Messages werden auch noch angezeigt nur dann bleibt der Button gedrückt, den man angecklickt hat und es geht nicht weiter. Also geht das mit dem read(); (Zeile:168) vielleicht nicht.
Vielleicht könnt ihr mir helfen.
Danke.
dieses Applet funktioniert nur bis zum actionPerformed. Die Messages werden auch noch angezeigt nur dann bleibt der Button gedrückt, den man angecklickt hat und es geht nicht weiter. Also geht das mit dem read(); (Zeile:168) vielleicht nicht.
Vielleicht könnt ihr mir helfen.
Danke.
Java:
package fragen;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;//Buffered,FileReader
public class Quiz extends JApplet implements ActionListener {
/**
*
*/
private static final long serialVersionUID = 1L;
// Attribute
private JLabel Fragen;
private JButton Knopf1;
private JButton Knopf2;
private JButton Knopf3;
private JButton Knopf4;
private String Frage = "Fehler";
private String A = "Fehler";
private String B = "Fehler";
private String C = "Fehler";
private String D = "Fehler";
private String Antworten = "Fehler";
int P;
private int MAX = 5;
// Konstruktor
public Quiz() {
read();
}
// Dateien öffnen, auslesen, speichern
public void read() {
int z = (int) (Math.random() * MAX + 1);
try {
BufferedReader Datei = new BufferedReader(new FileReader(
"Fragen.txt"));
for (int i = 0; i < z; i++) {
String Zeile = Datei.readLine();
Frage = Zeile;
}
Datei.close();
} catch (IOException x) {
Frage = "Fehler";
}
try {
BufferedReader Datei = new BufferedReader(new FileReader("A.txt"));
for (int i = 0; i < z; i++) {
String Zeile = Datei.readLine();
A = Zeile;
}
Datei.close();
} catch (IOException x) {
A = "Fehler";
}
try {
BufferedReader Datei = new BufferedReader(new FileReader("B.txt"));
for (int i = 0; i < z; i++) {
String Zeile = Datei.readLine();
B = Zeile;
}
Datei.close();
} catch (IOException x) {
B = "Fehler";
}
try {
BufferedReader Datei = new BufferedReader(new FileReader("C.txt"));
for (int i = 0; i < z; i++) {
String Zeile = Datei.readLine();
C = Zeile;
}
Datei.close();
} catch (IOException x) {
C = "Fehler";
}
try {
BufferedReader Datei = new BufferedReader(new FileReader("D.txt"));
for (int i = 0; i < z; i++) {
String Zeile = Datei.readLine();
D = Zeile;
}
Datei.close();
} catch (IOException x) {
D = "Fehler";
}
try {
BufferedReader Datei = new BufferedReader(new FileReader(
"Antworten.txt"));
for (int i = 0; i < z; i++) {
String Zeile = Datei.readLine();
Antworten = Zeile;
}
Datei.close();
} catch (IOException x) {
Antworten = "Fehler";
}
// Layout
JPanel Platte = new JPanel();
Platte.setLayout(new GridLayout(2, 2));
JPanel Platte2 = new JPanel();
Platte2.setLayout(new GridLayout(2, 1));
JPanel Platte3 = new JPanel();
Platte3.setLayout(new GridLayout(2, 1));
Platte2.setBackground(new Color(209, 220, 255));
// Buttons, Textfeld erzeugen
Fragen = new JLabel(Frage);
Fragen.setFont(new Font("Arial", Font.PLAIN, (int) (25)));
Fragen.setHorizontalAlignment(JLabel.CENTER);
Fragen.setVerticalAlignment(JLabel.CENTER);
Knopf1 = new JButton("a) " + A);
Knopf2 = new JButton("b) " + B);
Knopf3 = new JButton("c) " + C);
Knopf4 = new JButton("d) " + D);
// Buttons mit Ereignissen verknüpfen
Knopf1.addActionListener(this);
Knopf2.addActionListener(this);
Knopf3.addActionListener(this);
Knopf4.addActionListener(this);
JLabel Bild = new JLabel(new ImageIcon("quiz.gif"));
// Alles einsetzen
Platte2.add(Bild);
Platte2.add(Fragen);
Platte.add(Knopf1);
Platte.add(Knopf2);
Platte.add(Knopf3);
Platte.add(Knopf4);
Platte3.add(Platte2);
Platte3.add(Platte);
setContentPane(Platte3);
}
/*
* (non-Javadoc)
*
* @see
* java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
*/
public void actionPerformed(ActionEvent Ereignis) {
Object Quelle = Ereignis.getSource();
if (Quelle == Knopf1 && Antworten.equals("A")) {
P++;
JOptionPane.showMessageDialog(null, "A ist richtig! Punkte: " + P);
} else if (Quelle == Knopf2 && Antworten.equals("B")) {
P++;
JOptionPane.showMessageDialog(null, "B ist richtig! Punkte: " + P);
} else if (Quelle == Knopf3 && Antworten.equals("C")) {
P++;
JOptionPane.showMessageDialog(null, "C ist richtig! Punkte: " + P);
} else if (Quelle == Knopf4 && Antworten.equals("D")) {
P++;
JOptionPane.showMessageDialog(null, "D ist richtig! Punkte: " + P);
} else {
P--;
JOptionPane.showMessageDialog(null, "Falsch! Richtig ist "
+ Antworten + "! Punkte: " + P);
}
read();
}
}