1. import java.awt.Dimension;
  2. import java.awt.Toolkit;
  3. import java.awt.event.ActionEvent;
  4. import java.awt.event.ActionListener;
  5. import java.awt.*;
  6. import java.awt.event.*;
  7. import javax.swing.*;
  8. /**
  9. *
  10. * Beschreibung
  11. *
  12. * @version 1.0 vom 22.12.2015
  13. * @author
  14. */
  15. public class Quiz_Fenster extends JFrame implements ActionListener {
  16. //Bildschirmgröße wird ermittelt
  17. Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
  18. JLabel frage;
  19. JButton ant[] = new JButton[4];
  20. JPanel panel;
  21. JFrame w1;
  22. boolean fragebeantwortet, schleife;
  23. public static void main(String[] args) {
  24. new Quiz_Fenster();
  25. } // end of main
  26. public Quiz_Fenster() {
  27. panel = new JPanel();
  28. //Fenster wird erstell
  29. w1 = new JFrame ();
  30. w1.setSize (400, 400);
  31. w1.setLocation((int)(dim.getWidth()-700)/2, (int)(dim.getHeight()-1500/2));
  32. w1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  33. w1.setVisible(true);
  34. w1.setLayout(null);
  35. //Hier wird die Frage eingegeben
  36. frage = new JLabel("Was ist die Hauptstadt von Deutschland");
  37. frage.setBounds(52,15,250,40);
  38. w1.add(frage);
  39. //Erster Button
  40. ant[0] = new JButton (" Stuttgart ");
  41. ant[0].setBounds(52,90,120,40);
  42. //Button wird auf der Oberfläche hinzugefügt
  43. w1.add(ant[0]);
  44. //Zweiter Button
  45. ant[1] = new JButton (" München ");
  46. ant[1].setBounds(52,160,120,40);
  47. w1.add(ant[1]);
  48. //Dritte Button
  49. ant[2] = new JButton (" Berlin");
  50. ant[2].setBounds(220,90,120,40);
  51. w1.add(ant[2]);
  52. //Vierter Button
  53. ant[3] = new JButton (" Bonn ");
  54. ant[3].setBounds(220,160,120,40);
  55. w1.add(ant[3]);
  56. // Leeres JLabel-Objekt wird erzeugt
  57. frage = new JLabel();
  58. //Buttons werden dem Listener zugeordnet
  59. ant [0].addActionListener(this);
  60. ant [1].addActionListener(this);
  61. ant [2].addActionListener(this);
  62. ant [3].addActionListener(this);
  63. }
  64. public void actionPerformed (ActionEvent ae){
  65. // Die Quelle wird mit getSource() abgefragt und mit den
  66. // Buttons abgeglichen. Wenn die Quelle des ActionEvents einer
  67. // der Buttons ist, wird der Text des JLabels entsprechend geändert
  68. for (int durchlauf = 0;durchlauf <5 ;durchlauf++ ) {
  69. if(ae.getSource() == this.ant [0]){
  70. if ((!(fragebeantwortet))) {
  71. ant[0].setBackground(new Color(255, 0, 0));
  72. ant[2].setBackground(new Color(0, 255, 0));
  73. fragebeantwortet = true;
  74. } // end of if
  75. }
  76. else if(ae.getSource() == this.ant [1]){
  77. if ((!(fragebeantwortet))) {
  78. ant[1].setBackground(new Color(255, 0, 0));
  79. ant[2].setBackground(new Color(0, 255, 0));
  80. fragebeantwortet = true;
  81. } // end of if
  82. }
  83. else if (ae.getSource() == this.ant [2]){
  84. if ((!(fragebeantwortet))) {
  85. ant[2].setBackground(new Color(0, 255, 0));
  86. fragebeantwortet = true;
  87. } // end of if
  88. }
  89. else if (ae.getSource() == this.ant [3]){
  90. if ((!(fragebeantwortet))) {
  91. ant[3].setBackground(new Color(255, 0, 0));
  92. ant[2].setBackground(new Color(0, 255, 0));
  93. fragebeantwortet = true;
  94. } // end of iff
  95. }
  96. } // end of for
  97. } // end of class Quiz_Fenster
  98. }

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