[Java] S'il vous plait j'ai un Probleme avec la conditon if :/ [Résolu]

Signaler
Messages postés
14
Date d'inscription
samedi 17 mars 2012
Statut
Membre
Dernière intervention
10 juin 2012
-
Messages postés
14
Date d'inscription
samedi 17 mars 2012
Statut
Membre
Dernière intervention
10 juin 2012
-
Bonsoir , mon problème et le suivant dans mon code ci-dessous j'arrive pas à accéder a la questions 3
if(Source.equals(j2.Jouer)){
this.setVisible(false);
jeu2.setVisible(true);
// j'ajoute la Q1
jeu2.jeu.test1.setText("                                      Q1:"+j1.list1.get(0));
jeu2.buttonrep.button1.setText("Rep1:  "+j1.list2.get(0));
jeu2.buttonrep.button2.setText("Rep2:  "+j1.list3.get(0));
jeu2.buttonrep.button3.setText("Rep3:  "+j1.list4.get(0));
}if(Source ==jeu2.buttonrep.button1){	

//Si Q1 vrai
compteur=compteur+1;
jeu2.jeupanel.Score1.setText(resultat);
//Ajoute Q2
jeu2.jeu.test1.setText("                                      Q2:"+j1.list1.get(1));
jeu2.buttonrep.button1.setText("Rep1:  "+j1.list2.get(1));
jeu2.buttonrep.button2.setText("Rep2:  "+j1.list3.get(1));
jeu2.buttonrep.button3.setText("Rep3:  "+j1.list4.get(1));


}else if(Source ==jeu2.buttonrep.button2 ||Source ==jeu2.buttonrep.button3 ){
//Si Q1 fausse
    jeu2.jeupanel.Score1.setText(resultat);
  //J'ajoute Q2
    System.out.println("3");
jeu2.jeu.test1.setText("                                      Q2:"+j1.list1.get(1));
jeu2.buttonrep.button1.setText("Rep1:  "+j1.list2.get(1));
jeu2.buttonrep.button2.setText("Rep2:  "+j1.list3.get(1));
jeu2.buttonrep.button3.setText("Rep3:  "+j1.list4.get(1));}
else if(Source ==jeu2.buttonrep.button1){	

//Si Q2 vrai
compteur=compteur+1;
jeu2.jeupanel.Score1.setText(resultat);
//Ajoute Q3
jeu2.jeu.test1.setText("                                      Q3:"+j1.list1.get(2));
jeu2.buttonrep.button1.setText("Rep1:  "+j1.list2.get(2));
jeu2.buttonrep.button2.setText("Rep2:  "+j1.list3.get(2));
jeu2.buttonrep.button3.setText("Rep3:  "+j1.list4.get(2));			
}else if(Source ==jeu2.buttonrep.button2 ||Source ==jeu2.buttonrep.button3 ){
//Si Q2 vrai
compteur=compteur+1;
jeu2.jeupanel.Score1.setText(resultat);
//Ajoute Q3
jeu2.jeu.test1.setText("                                      Q3:"+j1.list1.get(3));
jeu2.buttonrep.button1.setText("Rep1:  "+j1.list2.get(3));
jeu2.buttonrep.button2.setText("Rep2:  "+j1.list3.get(3));
jeu2.buttonrep.button3.setText("Rep3:  "+j1.list4.get(3));		

}

5 réponses

Messages postés
14
Date d'inscription
samedi 17 mars 2012
Statut
Membre
Dernière intervention
10 juin 2012

Bonsoir ,
voila c'est bon j'ai trouvé comment gérer mon problème voila le code j'ai utilisé
la boucle for au lieu de la condition if et j'ai mis un compteur pour marquer chaque question voila le code.
if(Source ==(j2.Jouer)){
this.setVisible(false);
jeu2.setVisible(true);
// j'ajoute la Q1
                int compt=0;
comp++;
jeu2.jeu.test1.setText("                                      Q1:"+j1.list1.get(0));
jeu2.buttonrep.button1.setText("Rep1:  "+j1.list2.get(0));
jeu2.buttonrep.button2.setText("Rep2:  "+j1.list3.get(0));
jeu2.buttonrep.button3.setText("Rep3:  "+j1.list4.get(0));
}if(Source ==jeu2.buttonrep.button1){	

for(int i=1;i<n;i++){
//Si Q1 vrai
if(comp==1){
comp++;
compteur=compteur+1;
jeu2.jeupanel.Score1.setText(resultat);
//Ajoute Q2
jeu2.jeu.test1.setText("                                      Q2:"+j1.list1.get(i));
jeu2.buttonrep.button1.setText("Rep1:  "+j1.list2.get(i));
jeu2.buttonrep.button2.setText("Rep2:  "+j1.list3.get(i));
jeu2.buttonrep.button3.setText("Rep3:  "+j1.list4.get(i));
break;
}
if(comp==2){
comp++;
compteur=compteur+1;
jeu2.jeupanel.Score1.setText(resultat);
//Ajoute Q2
jeu2.jeu.test1.setText("                                      Q3:"+j1.list1.get(i));
jeu2.buttonrep.button1.setText("Rep1:  "+j1.list2.get(i));
jeu2.buttonrep.button2.setText("Rep2:  "+j1.list3.get(i));
jeu2.buttonrep.button3.setText("Rep3:  "+j1.list4.get(i));
break;
}
if(comp==3){
comp++;
compteur=compteur+1;
jeu2.jeupanel.Score1.setText(resultat);
//Ajoute Q2
jeu2.jeu.test1.setText("                                      Q4:"+j1.list1.get(i));
jeu2.buttonrep.button1.setText("Rep1:  "+j1.list2.get(i));
jeu2.buttonrep.button2.setText("Rep2:  "+j1.list3.get(i));
jeu2.buttonrep.button3.setText("Rep3:  "+j1.list4.get(i));
break;
}
if(comp==4){

comp++;
compteur=compteur+1;
jeu2.jeupanel.Score1.setText(resultat);
//Ajoute Q2
jeu2.jeu.test1.setText("                                      Q5:"+j1.list1.get(i));
jeu2.buttonrep.button1.setText("Rep1:  "+j1.list2.get(i));
jeu2.buttonrep.button2.setText("Rep2:  "+j1.list3.get(i));
jeu2.buttonrep.button3.setText("Rep3:  "+j1.list4.get(i));
break;
}
}	
Messages postés
14
Date d'inscription
samedi 17 mars 2012
Statut
Membre
Dernière intervention
10 juin 2012

if(Source.equals(j2.Suivant2)){

j2.cmp++;
j2.list1.add(j1.question1.getText());
j2.list2.add(j1.repcorrect1.getText());
j2.list3.add(j1.repincorrect11.getText());
j2.list4.add(j1.repincorrect22.getText());
j2.question1.setText(t);
j2.repcorrect1.setText(t);
j2.repincorrect11.setText(t);
j2.repincorrect22.setText(t);
if(j2.cmp==5){
j2.Suivant2.setEnabled(false);
j2.Jouer.setEnabled(true);
}	
}
if(Source.equals(j2.Jouer)){
this.setVisible(false);
jeu2.setVisible(true);
// j'ajoute la Q1
jeu2.jeu.test1.setText("                                      Q1:"+j1.list1.get(0));
jeu2.buttonrep.button1.setText("Rep1:  "+j1.list2.get(0));
jeu2.buttonrep.button2.setText("Rep2:  "+j1.list3.get(0));
jeu2.buttonrep.button3.setText("Rep3:  "+j1.list4.get(0));
}if(Source ==jeu2.buttonrep.button1){	

//Si Q1 vrai
compteur=compteur+1;
jeu2.jeupanel.Score1.setText(resultat);
//Ajoute Q2
jeu2.jeu.test1.setText("                                      Q2:"+j1.list1.get(1));
jeu2.buttonrep.button1.setText("Rep1:  "+j1.list2.get(1));
jeu2.buttonrep.button2.setText("Rep2:  "+j1.list3.get(1));
jeu2.buttonrep.button3.setText("Rep3:  "+j1.list4.get(1));


}else if(Source ==jeu2.buttonrep.button2 ||Source ==jeu2.buttonrep.button3 ){
//Si Q1 fausse
    jeu2.jeupanel.Score1.setText(resultat);
  //J'ajoute Q2
    System.out.println("3");
jeu2.jeu.test1.setText("                                      Q2:"+j1.list1.get(1));
jeu2.buttonrep.button1.setText("Rep1:  "+j1.list2.get(1));
jeu2.buttonrep.button2.setText("Rep2:  "+j1.list3.get(1));
jeu2.buttonrep.button3.setText("Rep3:  "+j1.list4.get(1));}
else if(Source ==jeu2.buttonrep.button1){	

//Si Q2 vrai
compteur=compteur+1;
jeu2.jeupanel.Score1.setText(resultat);
//Ajoute Q3
jeu2.jeu.test1.setText("                                      Q3:"+j1.list1.get(2));
jeu2.buttonrep.button1.setText("Rep1:  "+j1.list2.get(2));
jeu2.buttonrep.button2.setText("Rep2:  "+j1.list3.get(2));
jeu2.buttonrep.button3.setText("Rep3:  "+j1.list4.get(2));			
}else if(Source ==jeu2.buttonrep.button2 ||Source ==jeu2.buttonrep.button3 ){
//Si Q2 fausse
jeu2.jeupanel.Score1.setText(resultat);
//Ajoute Q3
jeu2.jeu.test1.setText("                                      Q3:"+j1.list1.get(3));
jeu2.buttonrep.button1.setText("Rep1:  "+j1.list2.get(3));
jeu2.buttonrep.button2.setText("Rep2:  "+j1.list3.get(3));
jeu2.buttonrep.button3.setText("Rep3:  "+j1.list4.get(3));		

}

Salut,

Pour que la comparaison

if(Source.equals(j2.Jouer)){

soit possible,
il faut que Source soit String et devrait se nommer source (s minuscule)
pour respecter les conventions de nommage (sans que ce soit obligé)
et que j2.Jouer soit aussi un String.

Si c'est le cas, quand tu utilises Source == ...
tu ne compares plus des données mais des références.

Ceci peut expliquer que tu n'arrives pas où tu voudrais.

Difficile de dire pourquoi ne sachant pas à quoi tu compares Source.

Cordialement,


...\ Dan /...
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
325
Bonjour,

Je ne suis pas certain mais c'est peut être un problème de rafraichissement : ajoutes un repaint sur le composant principal à la fin des modifications.

Normalement, dans ce cas, le devrait fonctionner puisque le composant Source (si c'est bien celui qui est associé à KeyEvent) et le composant sur le JPanel principal sont bien les mêmes> même référence. Mais utilises plutôt le equals
Messages postés
14
Date d'inscription
samedi 17 mars 2012
Statut
Membre
Dernière intervention
10 juin 2012

Bonjour,même avec == j'arrive pas a accéder a la Question 3 :/
Voila tous le code de ma class
merci d'avance .

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;


public class Jeu extends JFrame implements ActionListener{
Jeuborder2 jborder1= new Jeuborder2();
Jeuborder1 jborder2=new Jeuborder1();
JPanel panel=new JPanel();
Jeu2 jeu2=new Jeu2();
QuestionJ1 j1=new QuestionJ1();
QuestionJ2 j2=new QuestionJ2();
int compteur=0;



public Jeu(){
j1.Suivant.addActionListener(this);
j2.Suivant2.addActionListener(this);
j2.Jouer.addActionListener(this);
jeu2.buttonrep.button1.addActionListener(this);
jeu2.buttonrep.button2.addActionListener(this);
jeu2.buttonrep.button3.addActionListener(this);
jeu2.setVisible(false);
panel.add(jborder1);
panel.add(jborder2);
jborder2.setVisible(false);
panel.add(j1);
panel.add(j2);
j2.setVisible(false);
this.setSize(400,300);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setContentPane(panel);
this.setResizable(false);
this.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
Object Source =e.getSource();
String t="";
String resultat=String.valueOf(compteur);

if(Source==j1.Suivant){

j1.cmp++;	
j1.list1.add(j1.question1.getText());
j1.list2.add(j1.repcorrect1.getText());
j1.list3.add(j1.repincorrect11.getText());
j1.list4.add(j1.repincorrect22.getText());
j1.question1.setText(t);
j1.repcorrect1.setText(t);
j1.repincorrect11.setText(t);
j1.repincorrect22.setText(t);

if(j1.cmp==5){
jborder1.setVisible(false);
jborder2.setVisible(true);
j1.setVisible(false);
j2.setVisible(true);
}
}
if(Source==j2.Suivant2){

j2.cmp++;
j2.list1.add(j1.question1.getText());
j2.list2.add(j1.repcorrect1.getText());
j2.list3.add(j1.repincorrect11.getText());
j2.list4.add(j1.repincorrect22.getText());
j2.question1.setText(t);
j2.repcorrect1.setText(t);
j2.repincorrect11.setText(t);
j2.repincorrect22.setText(t);
if(j2.cmp==5){
j2.Suivant2.setEnabled(false);
j2.Jouer.setEnabled(true);
}	
}
if(Source ==(j2.Jouer)){
this.setVisible(false);
jeu2.setVisible(true);
// j'ajoute la Q1
jeu2.jeu.test1.setText("                                      Q1:"+j1.list1.get(0));
jeu2.buttonrep.button1.setText("Rep1:  "+j1.list2.get(0));
jeu2.buttonrep.button2.setText("Rep2:  "+j1.list3.get(0));
jeu2.buttonrep.button3.setText("Rep3:  "+j1.list4.get(0));
}if(Source ==jeu2.buttonrep.button1){	

//Si Q1 vrai
compteur=compteur+1;
jeu2.jeupanel.Score1.setText(resultat);
//Ajoute Q2
jeu2.jeu.test1.setText("                                      Q2:"+j1.list1.get(1));
jeu2.buttonrep.button1.setText("Rep1:  "+j1.list2.get(1));
jeu2.buttonrep.button2.setText("Rep2:  "+j1.list3.get(1));
jeu2.buttonrep.button3.setText("Rep3:  "+j1.list4.get(1));


}else if(Source ==jeu2.buttonrep.button2 ||Source ==jeu2.buttonrep.button3 ){
//Si Q1 fausse
    jeu2.jeupanel.Score1.setText(resultat);
  //J'ajoute Q2
    System.out.println("3");
jeu2.jeu.test1.setText("                                      Q2:"+j1.list1.get(1));
jeu2.buttonrep.button1.setText("Rep1:  "+j1.list2.get(1));
jeu2.buttonrep.button2.setText("Rep2:  "+j1.list3.get(1));
jeu2.buttonrep.button3.setText("Rep3:  "+j1.list4.get(1));}
else if(Source ==jeu2.buttonrep.button1){	

//Si Q2 vrai
compteur=compteur+1;
jeu2.jeupanel.Score1.setText(resultat);
//Ajoute Q3
jeu2.jeu.test1.setText("                                      Q3:"+j1.list1.get(2));
jeu2.buttonrep.button1.setText("Rep1:  "+j1.list2.get(2));
jeu2.buttonrep.button2.setText("Rep2:  "+j1.list3.get(2));
jeu2.buttonrep.button3.setText("Rep3:  "+j1.list4.get(2));			
}else if(Source ==jeu2.buttonrep.button2 ||Source ==jeu2.buttonrep.button3 ){
//Si Q2 fausse
jeu2.jeupanel.Score1.setText(resultat);
//Ajoute Q3
jeu2.jeu.test1.setText("                                      Q3:"+j1.list1.get(3));
jeu2.buttonrep.button1.setText("Rep1:  "+j1.list2.get(3));
jeu2.buttonrep.button2.setText("Rep2:  "+j1.list3.get(3));
jeu2.buttonrep.button3.setText("Rep3:  "+j1.list4.get(3));		

}


}}