Pb condition java

Résolu/Fermé
amine_marc
Messages postés
256
Date d'inscription
dimanche 21 février 2010
Statut
Membre
Dernière intervention
11 avril 2016
- 30 janv. 2013 à 23:18
amine_marc
Messages postés
256
Date d'inscription
dimanche 21 février 2010
Statut
Membre
Dernière intervention
11 avril 2016
- 30 janv. 2013 à 23:43
Bonjour,
je suis débutant en java, j'ai un code simple mais, je sais pas où est l'erreur, j'espère que vous m'aider à résoudre mon pb, voila:
J'ai une Jframe contenant trois éléments; JcomboBox, un JtextField et un bouton, lorsqu'on clique sur le bouton je veux vérifier dans une autre classe si les valeur de jcombobox == "Pro" && Jtextfield == "root", si oui, on doit exécuter une autre Jframe sinon, on affiche erreur, voila les codes:

//---------JFRAM 1--------------

private void EntrerActionPerformed(java.awt.event.ActionEvent evt) {

fct = fonction.getSelectedItem().toString();
user = login.getText();

if((javax.swing.JButton)evt.getSource()==Entrer)
{
new Verifier(fct,user).getClass();
}
}

//--------------------------------


//-------------- classe Verifier----------------
public Verifier(String f,String u)
{

if(f=="Pro" && u=="root")
{
new SurvGeneral().setVisible(true);
}
else
{
System.out.print("Erreur");
}
}

//------------------------------------------------

j'ai tester seulement par le Jcombobox--> ca marche, donc le pb dans Jtextfield, tjr il s'affiche "Erreur" de else....
Veuillez me dire où le pb, et merci d'avance .... cordielement

1 réponse

KX
Messages postés
16538
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
21 mai 2022
2 956
30 janv. 2013 à 23:21
if(f=="Pro" && u=="root") ne peux pas fonctionner car l'opérateur == compares les références des objets, pas leur valeur. Il faut utiliser la méthode equals :

if (f.equals("Pro") && u.equals("root"))
1
amine_marc
Messages postés
256
Date d'inscription
dimanche 21 février 2010
Statut
Membre
Dernière intervention
11 avril 2016
2
30 janv. 2013 à 23:43
merci KX, vs êtes tres gentil ^^, ca marche maintenant
0