- import java.awt.Dimension;
- import java.awt.Toolkit;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.*;
- import java.awt.event.*;
- import javax.swing.*;
- /**
- *
- * Beschreibung
- *
- * @version 1.0 vom 22.12.2015
- * @author
- */
- public class Quiz_Fenster extends JFrame implements ActionListener {
- //Bildschirmgröße wird ermittelt
- Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
- JLabel frage;
- JButton ant[] = new JButton[4];
- JPanel panel;
- JFrame w1;
- boolean fragebeantwortet, schleife;
- public static void main(String[] args) {
- new Quiz_Fenster();
- } // end of main
- public Quiz_Fenster() {
- panel = new JPanel();
- //Fenster wird erstell
- w1 = new JFrame ();
- w1.setSize (400, 400);
- w1.setLocation((int)(dim.getWidth()-700)/2, (int)(dim.getHeight()-1500/2));
- w1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- w1.setVisible(true);
- w1.setLayout(null);
- //Hier wird die Frage eingegeben
- frage = new JLabel("Was ist die Hauptstadt von Deutschland");
- frage.setBounds(52,15,250,40);
- w1.add(frage);
- //Erster Button
- ant[0] = new JButton (" Stuttgart ");
- ant[0].setBounds(52,90,120,40);
- //Button wird auf der Oberfläche hinzugefügt
- w1.add(ant[0]);
- //Zweiter Button
- ant[1] = new JButton (" München ");
- ant[1].setBounds(52,160,120,40);
- w1.add(ant[1]);
- //Dritte Button
- ant[2] = new JButton (" Berlin");
- ant[2].setBounds(220,90,120,40);
- w1.add(ant[2]);
- //Vierter Button
- ant[3] = new JButton (" Bonn ");
- ant[3].setBounds(220,160,120,40);
- w1.add(ant[3]);
- // Leeres JLabel-Objekt wird erzeugt
- frage = new JLabel();
- //Buttons werden dem Listener zugeordnet
- ant [0].addActionListener(this);
- ant [1].addActionListener(this);
- ant [2].addActionListener(this);
- ant [3].addActionListener(this);
- }
- public void actionPerformed (ActionEvent ae){
- // Die Quelle wird mit getSource() abgefragt und mit den
- // Buttons abgeglichen. Wenn die Quelle des ActionEvents einer
- // der Buttons ist, wird der Text des JLabels entsprechend geändert
- for (int durchlauf = 0;durchlauf <5 ;durchlauf++ ) {
- if(ae.getSource() == this.ant [0]){
- if ((!(fragebeantwortet))) {
- ant[0].setBackground(new Color(255, 0, 0));
- ant[2].setBackground(new Color(0, 255, 0));
- fragebeantwortet = true;
- } // end of if
- }
- else if(ae.getSource() == this.ant [1]){
- if ((!(fragebeantwortet))) {
- ant[1].setBackground(new Color(255, 0, 0));
- ant[2].setBackground(new Color(0, 255, 0));
- fragebeantwortet = true;
- } // end of if
- }
- else if (ae.getSource() == this.ant [2]){
- if ((!(fragebeantwortet))) {
- ant[2].setBackground(new Color(0, 255, 0));
- fragebeantwortet = true;
- } // end of if
- }
- else if (ae.getSource() == this.ant [3]){
- if ((!(fragebeantwortet))) {
- ant[3].setBackground(new Color(255, 0, 0));
- ant[2].setBackground(new Color(0, 255, 0));
- fragebeantwortet = true;
- } // end of iff
- }
- } // end of for
- } // end of class Quiz_Fenster
- }
Ich möchte bei diesem Quiz das unten die Frage 4 mal gestellt wird, also das der Button nach dem drücken wieder gedrück werden kann. Leider bleibt der Button aktievirt so das die Schleife 4 mal die gleiche aktion durchführt also ich nicht neu zwischen den Antworten wählen kann. Ich möchte später so mehrere Fragen hintereinander stellen die durch drücken des Butons durch Zufall aus einer Tabelle ausgelesen werden