import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class Drive1 extends JFrame {
Fragen[]fragen = {
new Fragen(1,"B","Bild1.jpg","Wer hat Vorfahrt... ","Der Gelbe PKW?",false,"Das Fahrrad?",false,"Ich",true,"5"),
new Fragen(2,"B","1_2_26_101.jpg", "Wie Verhalte ich mich richtig?... ","Schnell fahren?",false,"Vollbremsen?",false,"Schrittgeschwindigkeit",true,"3"),
new Fragen(3,"B","1_1_02_108.jpg", "Wie Schnell dürfen Sie fahren ","50?",false,"30?",false,"80?",true,"2"),
new Fragen(3,"B","1_3_01_010.jpg", "Was bedeutet diese Schild","ich habe Vorfahrt?",false,"Vorfahrt gewähren?",false,"Vorsicht spielende Kinder",true,"5"),
new Fragen(3,"B","2_1_03_021.jpg", "Wer hat Vorfahrt... ","Der Gelbe PKW?",false,"Das Fahrrad?",false,"Ich",true,"4"),
};
Fragen aktuelleFrage;
JLabel frage1; // Die Komponenten werden ausserhalb des Konstruktors initialisiert,
JLabel fehlerPunkte; // damit die setFrage(Fragen frage) Methode auf sie zugreifen kann
JCheckBox antwort1; // und dementsprechend verändern kann
JCheckBox antwort2;
JCheckBox antwort3;
ImageIcon bild1;
public Drive1 () {
super("Theoretische Fahrschulprüfung");
this.setSize(1100,600);
this.setLocation(100,75);
this.setVisible(true);
this.setResizable(false);
setDefaultCloseOperation(EXIT_ON_CLOSE);
// Oberste Panel
JPanel obenPanel = new JPanel ();
obenPanel.setLayout(new BorderLayout());
// Zentrum Panel
JPanel centerPanel = new JPanel ();
centerPanel.setOpaque(true);
centerPanel.setBackground(Color.yellow);
centerPanel.setLayout(new GridBagLayout ());
// Untere Panel, weiter unten als JTabbedPane
// Komponente für oberste Panel
JLabel labelgrundstoff = new JLabel ( "Fragen zum Grundstoff");
obenPanel.add(labelgrundstoff,BorderLayout.EAST);
// Komponente für Zentrum Panel
GridBagConstraints c = new GridBagConstraints ();
c.anchor = GridBagConstraints.WEST;
bild1 = new ImageIcon ("Fahrschule.JPG");
JLabel fuerbild = new JLabel(bild1);
centerPanel.add(fuerbild,c);
c.gridx =0;
c.gridy =1;
frage1 = new JLabel("Wer hat Vorfahrt?");
frage1.setOpaque(true);
frage1.setBackground(Color.yellow);
centerPanel.add(frage1,c);
c.anchor=GridBagConstraints.WEST;
c.gridx =0;
c.gridy =2;
antwort1= new JCheckBox("Ich");
antwort1.setOpaque(true);
antwort1.setBackground(Color.yellow);
centerPanel.add(antwort1,c);
c.gridx =0;
c.gridy =3;
antwort2 = new JCheckBox ("Der Gelbe LKW");
antwort2.setOpaque(true);
antwort2.setBackground(Color.yellow);
centerPanel.add(antwort2,c);
c.gridx =0;
c.gridy =4;
antwort3 = new JCheckBox ("Der Grüne PKW");
antwort3.setOpaque(true);
antwort3.setBackground(Color.yellow);
centerPanel.add(antwort3,c);
c.gridx =1;
c.gridy =2;
JLabel punkte = new JLabel("Punkte: ");
centerPanel.add(punkte,c);
c.gridx =2;
c.gridy =2;
fehlerPunkte = new JLabel("5");
centerPanel.add(fehlerPunkte,c);
// Komponente für das untere Panel
JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP,JTabbedPane.SCROLL_TAB_LAYOUT);
// Panel für die Grundstofffragen
JPanel panelGrund = new JPanel();
for(int i=1;i<21;i++){
JButton button= new JButton( ""+i);
button.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
System.out.println(e.getActionCommand());
}
});
panelGrund.add(button);
}
panelGrund.setOpaque(true);
panelGrund.setBackground(Color.yellow);
// Panel für die Fragen der Klasse B
JPanel panelB = new JPanel();
for(int j=1;j<11;j++){
JButton button1= new JButton( ""+j);
button1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
Fragen f= fragen[Integer.parseInt( e.getActionCommand())]; // wandelt die Zahl auf dem Button vom String in einen Integer Wert um. // Der Variable f wird dann der Wert in dem index übergeben hier eine die adresse des Objekts.
setFragen(f); // Warum a als Übergabeparameter ??
}
});
panelB.add (button1);
}
panelB.setOpaque(true);
panelB.setBackground(Color.yellow);
// beide Panels in den tabbedPane legen
tabbedPane.addTab("Grundstoff",panelGrund);
tabbedPane.addTab("B", panelB);
// Panels Hinzufügen
add(obenPanel, BorderLayout.NORTH);
add(centerPanel,BorderLayout.CENTER);
add(tabbedPane,BorderLayout.SOUTH);
}
public void setFragen(Fragen frage){
// Checkboxes auslesen und in aktueller Frage speichern (auswahl1-3)
// neue Frage auslesen und Checkboxes setzen
// Neue Frage/Bild setzen
//bild1.setIcon(frage.getBild());
frage1.setText(frage.getFrage()); // frage hat der wert von f. in f ist die adresse vom speicherort des jeweilligen Objek
antwort1.setText(frage.getAntwort1());
//lösung1.setText(frage.getLösung1());
antwort2.setText(frage.getAntwort2());
//lösung2.setText(frage.getLösung2());
antwort3.setText(frage.getAntwort3());
//lösung3.setText(frage.getLösung3c());
fehlerPunkte.setText(frage.getFehlerPunkte());
aktuelleFrage = frage;
}
}