Hallo,
ich bin noch totaler Java-Anfänger und wollte selber ein Grundgerüst von einem Quiz schreiben.
Das ist mir auch gelungen, jedoch ist meine Vorgehensweise ziemlich unübersichtlich und ich wollte fragen, ob ich meine Fragen und Antworten auslagern kann und was an dieser Vorgehensweise aus der Sicht des erfahrenen Java-Programmierer falsch ist.
Hier der Code, der leider sehr unübersichtlich ist:
ich bin noch totaler Java-Anfänger und wollte selber ein Grundgerüst von einem Quiz schreiben.
Das ist mir auch gelungen, jedoch ist meine Vorgehensweise ziemlich unübersichtlich und ich wollte fragen, ob ich meine Fragen und Antworten auslagern kann und was an dieser Vorgehensweise aus der Sicht des erfahrenen Java-Programmierer falsch ist.
Hier der Code, der leider sehr unübersichtlich ist:
Java:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Quiz extends JFrame implements ActionListener{
public static void main(String[] args) {
new Quiz();
}
private JPanel p;
private JLabel label;
private JLabel label1;
private JLabel label2;
private JButton button1;
private JButton button2;
private JFrame f;
public Quiz(){
f = new JFrame("Wer wird Millionär");
f.setDefaultCloseOperation(EXIT_ON_CLOSE);
f.setSize(600,400);
p = new JPanel();
f.getContentPane().add(p);
p.setLayout(new BorderLayout(0, 0));
label = new JLabel("Frage 1");
label1 = new JLabel("Richtig");
label2 = new JLabel("Falsch");
button1 = new JButton("Antwort A");
button2 = new JButton("Antwort B");
button1.addActionListener(this);
button2.addActionListener(this);
p.add(button1, BorderLayout.WEST);
p.add(button2, BorderLayout.EAST);
p.add(label, BorderLayout.NORTH);
//p.add(button);
f.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == button1){
System.out.println("Antwort A");
richtig();
}if(e.getSource() == button2){
System.out.println("Antwort B");
p.removeAll();
f.setBackground(Color.red);
p.add(label2, BorderLayout.CENTER);
f.setVisible(true);
// new Frage2();
}
}
public void richtig() {
p.removeAll();
f.setBackground(Color.green);
p.add(label1, BorderLayout.CENTER);
f.add(p);
f.setVisible(true);
// new Frage2();
}
}