Quiz

potter1111 Messages postés 4 Date d'inscription mardi 19 avril 2011 Statut Membre Dernière intervention 30 mai 2012 - 3 mai 2010 à 00:50
seb576 Messages postés 43 Date d'inscription mercredi 17 novembre 2010 Statut Membre Dernière intervention 3 juin 2012 - 29 avril 2011 à 11:08
bonsoir les amis,voila j'ai un projet de quiz en java
là,j'ai fait les questions et les réponses sans problèmes,mais j'ai un problème dans la classe qui va afficher les questions et les choix multiples,le principe c'est que quand j'appuie sur précèdent ou suivant,soit je reviens a la question précédente soit je continue vers la question suivante,je l'ai fait avec une boucle while mais quand je l'exécute,la fenêtre se met a clignoter et il m'affiche plusieurs erreurs,pouvez vous m'aider s'il vous plait,voila le code:
package serveur;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;
public class questions2 extends JFrame implements ActionListener{
int i;
Container container;
JPanel pan1 ;
JLabel titre=null ;
JRadioButton r1;
JRadioButton r2;
JRadioButton r3;
JLabel choix ;
FlowLayout experimentLayout = new FlowLayout();

JPanel pan2;
JPanel pan3;
ButtonGroup bg =new ButtonGroup();
JButton suivant;
JButton precedent;
JPanel pan4;
ActionEvent e;
questions q=new questions();
private int score;
public questions2() {
JFrame fenetre=new JFrame();
this.setTitle("Le quiz des champions");
fenetre.setLocationRelativeTo(null);
this.setSize(600,500);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
i=0;
int score=0;

while(i<15){

if (i==14)
suivant=new JButton("terminer");
else suivant=new JButton("suivant");
if(i==0)
{
titre=new JLabel(q.tab_ques[i]);
titre.setForeground(Color.BLACK);
titre.setFont(new Font("serif",Font.BOLD,20));
container = new Container();

container.setLayout(new GridLayout(3,3));
pan1 = new JPanel();

pan1.setLayout(new FlowLayout());
pan1.add(titre);
container.add(pan1);

pan2 =new JPanel();

pan2.setLayout(new GridLayout(2,1));

pan3 =new JPanel();
pan3.setLayout(new GridLayout(1,4));

r1 = new JRadioButton(q.tab_r1[i]);
r2 = new JRadioButton(q.tab_r2[i]);
r3 = new JRadioButton(q.tab_r3[i]);
bg.add(r1);
bg.add(r2);
bg.add(r3);



pan3.add(r1);
pan3.add(r2);
pan3.add(r3);
pan2.add(pan3);

pan4 =new JPanel();
pan4.setLayout(new GridLayout(1,2));

pan2.setBackground(Color.BLUE);pan4.setBackground(Color.BLUE);
pan3.setBackground(Color.BLUE);pan1.setBackground(Color.BLUE);
pan4.setLayout(experimentLayout);


pan4.add(suivant);


container.add(pan2);
container.add(pan4);
suivant.setSelected(false);
this.setContentPane(container);
this.setForeground(Color.MAGENTA);
this.setVisible(true);
if ((r1.isSelected())|| (r2.isSelected()) || (r3.isSelected()))
{suivant.setSelected(true);suivant.addActionListener(this);

boolean cas1=(r1.isSelected())&&(q.tab_ind_rep[i]==1);
boolean cas2=(r2.isSelected())&&(q.tab_ind_rep[i]==2);
boolean cas3=(r3.isSelected())&&(q.tab_ind_rep[i]==3);
if((cas1)||(cas2)||(cas3))
{score++;}
}
}
else{
precedent=new JButton("precedent");
titre=new JLabel(q.tab_ques[i]);

titre.setForeground(Color.BLACK);
titre.setFont(new Font("serif",Font.BOLD,20));
container = new Container();

container.setLayout(new GridLayout(3,3));
pan1 = new JPanel();

pan1.setLayout(new FlowLayout());
pan1.add(titre);
container.add(pan1);

pan2 =new JPanel();

pan2.setLayout(new GridLayout(2,1));

pan3 =new JPanel();
pan3.setLayout(new GridLayout(1,4));

r1 = new JRadioButton(q.tab_r1[i]);
r2 = new JRadioButton(q.tab_r2[i]);
r3 = new JRadioButton(q.tab_r3[i]);
bg.add(r1);
bg.add(r2);
bg.add(r3);



pan3.add(r1);
pan3.add(r2);
pan3.add(r3);
pan2.add(pan3);

pan4 =new JPanel();
pan4.setLayout(new GridLayout(1,2));

pan2.setBackground(Color.BLUE);pan4.setBackground(Color.BLUE);
pan3.setBackground(Color.BLUE);pan1.setBackground(Color.BLUE);
pan4.setLayout(experimentLayout);

precedent=new JButton("precedent");
pan4.add(precedent);
pan4.add(suivant);


container.add(pan2);
container.add(pan4);
suivant.setSelected(false);
this.setContentPane(container);
this.setForeground(Color.MAGENTA);
this.setVisible(true);
if ((r1.isSelected())|| (r2.isSelected()) || (r3.isSelected()))
{suivant.setSelected(true);suivant.addActionListener(this);precedent.addActionListener(this);

boolean cas1=(r1.isSelected())&&(q.tab_ind_rep[i]==1);
boolean cas2=(r2.isSelected())&&(q.tab_ind_rep[i]==2);
boolean cas3=(r3.isSelected())&&(q.tab_ind_rep[i]==3);
if((cas1)||(cas2)||(cas3))
{score++;}
}
}
}

}
public void actionPerformed(ActionEvent evt){
Object source = evt.getSource();
if (source== precedent)
i--;
else i++;
}
public static void main (String[] args){
questions2 t=new questions2();
}
}

je vous remercie d'avance

1 réponse

seb576 Messages postés 43 Date d'inscription mercredi 17 novembre 2010 Statut Membre Dernière intervention 3 juin 2012 1
29 avril 2011 à 11:08
Bonjour,

tu pourrais nous afficher ici les erreurs que ton IDE t'affiche. Cela nous sera plus utile pour t'aider.

Bonne journée.
0
Rejoignez-nous