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

Résolu
Otobox Messages postés 14 Date d'inscription samedi 17 mars 2012 Statut Membre Dernière intervention 10 juin 2012 - 18 avril 2012 à 21:26
Otobox Messages postés 14 Date d'inscription samedi 17 mars 2012 Statut Membre Dernière intervention 10 juin 2012 - 20 avril 2012 à 21:34
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

Otobox Messages postés 14 Date d'inscription samedi 17 mars 2012 Statut Membre Dernière intervention 10 juin 2012
20 avril 2012 à 21:34
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;
}
}	
3
Otobox Messages postés 14 Date d'inscription samedi 17 mars 2012 Statut Membre Dernière intervention 10 juin 2012
18 avril 2012 à 21:28
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));		

}
0
Utilisateur anonyme
18 avril 2012 à 23:58
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 /...
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
19 avril 2012 à 08:07
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Otobox Messages postés 14 Date d'inscription samedi 17 mars 2012 Statut Membre Dernière intervention 10 juin 2012
19 avril 2012 à 14:11
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));		

}


}}


0
Rejoignez-nous