!Ich muss den Thead 2x aktuallisieren um ganzen Quellcode zu sehen, sonst sehe ich immer nur 64 Zeilen, woran lieg es? Ich habe IE.!
Hallo,
ich will dieses Konsolenquiz grafisch umsetzen, damit es eine grafische Oberfläche hat. Ich will außerdem es erweitern und verbessern. Ich habe mir überlegt Fahrschuleprogramm zu schreiben bzw so was ähnliches.
So erstmal hier mein Konsolenquiz:
package drive;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Quiz {
public static void main(String[] args) {
int punkte = 0;
String[] frage1 = {
"Wieviel ist 1 + 1?",
"<1> Eins",
"<2> Zwei",
"<3> Drei",
"2"
};
String[] frage2 = {
"Wieviel ist 1 + 2?",
"<1> Eins",
"<2> Zwei",
"<3> Drei",
"3"
};
String[] frage3 = {
"Wieviel ist 2 - 1?",
"<1> Eins",
"<2> Zwei",
"<3> Drei",
"1"
};
//Fragen werden in einem zweidimensionalen String-Array gespeichert
String[][] liste = {
frage1,frage2,frage3
};
//Ausgabe von Fragen in der Konsole
for(int i=0;i<liste.length;i++)
{
System.out.println(liste**[0]);
System.out.println(liste**[1]);
System.out.println(liste**[2]);
System.out.println(liste**[3]);
System.out.println("Bitte Antwort eingeben: ");
//Einlesen von Eingabe
BufferedReader eingabe = new BufferedReader(new InputStreamReader(System.in));
try {
String antwort = eingabe.readLine();
System.out.println("Sie haben als Antwort: "+antwort+" eingegeben.");
//Vergleichen von Antworten
if(antwort.equals(liste**[4]))
{
System.out.println("Sie sind ein Genie!
");
punkte++;
}
else
{
System.out.println("Gehen Sie zurück in die erste Klasse!
");
}
} catch (IOException e) {
System.out.println("Falsche Eingabe!");
}
}
System.out.println("Sie haben "+punkte+" von 3 Punkten erreicht.");
if(punkte==3)
{
System.out.println("Sie können in die zweite Klasse gehen, gratuliere!");
}
else
{
System.out.println("Sie müssen leider die erste Klasse nochmal wiederholen!");
}
}
}
Das will ich grafisch umsetzen. Ich will danach es verändern, aber das kommt später.
So hier mein Code für den grafischen Quiz:
package drive;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class Drive extends JFrame{
JLabel label = new JLabel();
JButton button = new JButton();
JCheckBox box1, box2, box3;
String[] frage1 = {
"Wieviel ist 1 + 1?",
"<1> Eins",
"<2> Zwei",
"<3> Drei",
"2"
};
String[] frage2 = {
"Wieviel ist 1 + 2?",
"<1> Eins",
"<2> Zwei",
"<3> Drei",
"3"
};
String[] frage3 = {
"Wieviel ist 2 - 1?",
"<1> Eins",
"<2> Zwei",
"<3> Drei",
"1"
};
String[][] liste = {
frage1,frage2,frage3
};
public Drive() {
setLayout(null);
setSize(500, 300);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
label.setSize(200, 20);
label.setLocation(10, 10);
box1 = new JCheckBox();
box1.setSize(200,20);
box1.setLocation(10, 50);
box2 = new JCheckBox();
box2.setSize(200,20);
box2.setLocation(10, 100);
box3 = new JCheckBox();
box3.setSize(200,20);
box3.setLocation(10, 150);
button = new JButton("Enter");
button.setSize(100,20);
button.setLocation(200, 200);
button.addActionListener(new myListener());
add(label);
add(box1);
add(box2);
add(box3);
add(button);
setVisible(true);
}
class myListener implements ActionListener{
public void actionPerformed(ActionEvent e) {
for(int i = 0;i<liste.length;i++)
{
label.setText(liste**[0]);
box1.setText(liste**[1]);
box2.setText(liste**[2]);
box3.setText(liste**[3]);
}
System.out.println("Weiter");
}
}
}
Oberfläche sieht schon gut aus, nur funktioniert „weiter“ nicht. Ich weiss nicht genau wie ich es umsetzen soll, dass er nachdem ich auf weiter klicke, die nächste Frage anzeigt. Das Programm soll danach, wie das Konsolenquiz, am Ende mir die erreichten Punkte anzeigen(später wird das Programm mir anzeigen, ob ich das Quiz geschafft habe oder nicht).
Kann mir jemand ein paar Tipps geben, oder zeigen wie es geht.
Danke