Recupere un boolean dans une Jtable

Résolu/Fermé
MegaBob Messages postés 27 Date d'inscription mercredi 11 juin 2008 Statut Membre Dernière intervention 19 octobre 2008 - 17 juin 2008 à 22:59
MegaBob Messages postés 27 Date d'inscription mercredi 11 juin 2008 Statut Membre Dernière intervention 19 octobre 2008 - 17 juin 2008 à 23:59
Bonjour, j'ai une jTable avec une case a cocher(Boolean) et je voudrais récupéré cette valeur pour savoir ci elle est a true ou false.
[code]
boolean Test;

for(int i=0;i<m_Gestion.Ordonnance.GetLignes();i++) {
Test= m_Gestion.Ordonnance.GetJTable().getValueAt(i,5);
if(Test=true){
Medoc += m_Gestion.Ordonnance.GetJTable().getValueAt(i,0)+"\n";
Medoc += m_Gestion.Ordonnance.GetJTable().getValueAt(i,4)+"\t\t";
Medoc += m_Gestion.Ordonnance.GetJTable().getValueAt(i,2)+"\n\n";
m_Gestion.m_Impression.GetTextArea().setText(Medoc);
}

}
[/code]

Mais il me dit
[code]
found : java.lang.Object
required: boolean
Test= m_Gestion.Ordonnance.GetJTable().getValueAt(i,5);
1 error
[/code]
Mon boolean dans la colonne 5
Merci de votre aide

6 réponses

kilian Messages postés 8732 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 5 février 2025 1 526
17 juin 2008 à 23:02
Salut,

Et comme ça?
Test= (Boolean)m_Gestion.Ordonnance.GetJTable().getValueAt(i,5); 

Les types primitifs (char/int/float/etc...) possèdent un equivalent Objet (Integer/Boolean etc...) que tu peux attribuer directement à une variable de type primitive.
2
MegaBob Messages postés 27 Date d'inscription mercredi 11 juin 2008 Statut Membre Dernière intervention 19 octobre 2008 2
17 juin 2008 à 23:10
Merci cella marche mais lorsque Test n'est pas égale a true il le met a Null et mon programme plante je ne comprend pas?
0
kilian Messages postés 8732 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 5 février 2025 1 526
17 juin 2008 à 23:16
Ben alors fait un contrôle pour savoir si c'est égal à null :-)
0
MegaBob Messages postés 27 Date d'inscription mercredi 11 juin 2008 Statut Membre Dernière intervention 19 octobre 2008 2
17 juin 2008 à 23:24
oui je vois pas pourquoi il ne sort pas quand il arrive au if?
En meme temps je comprend pas comment un boolean peut etre a null.
Tu a une idée du code?
0
kilian Messages postés 8732 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 5 février 2025 1 526
17 juin 2008 à 23:31
Boolean c'est le type objet booléen.
boolean c'est le type primitif booléen.

Un boolean peut prendre true ou false. Boolean c'est pareil mais comme c'est un objet ça peut aussi être null.
Donc mettons que tu aies ça:
Boolean bObj = null;
boolean bPrim = bObj;

Si bObj était égal à true ou fals, la conversion se serait faite sans soucis. Mais comme bObj est égal à null, java ne sait pas convertir, donc ça foire.
Voilà. C'est pour ça qu'il faut contrôler la valeur avant de l'attribuer à Test.

Autre chose, tu fais:
if(Test=true)

Là tu es en train d'attribuer une valeur à Test alors que tu veux faire une comparaison.
Ce que tu fais c'est l'équivalent de:
Test = true;
if(Test)

Et donc ton if est toujours vrai.
Il faut faire == pour faire une comparaison, sachant aussi que c'est plus élégant de faire:
if(Test) plutôt que if(Test==true).
Tout comme if(!Test) est plus élégant que if(Test == false)
Voilà :-)
0
MegaBob Messages postés 27 Date d'inscription mercredi 11 juin 2008 Statut Membre Dernière intervention 19 octobre 2008 2
17 juin 2008 à 23:35
Ok je vais changer ca alors merci de l'info. Mais pour mon boolean je fais quoi pour qu'il me renvoie true ou false seulement? je ne vois pas trop quoi faire comme vérification pour ne pas avoir null?
0

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

Posez votre question
kilian Messages postés 8732 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 5 février 2025 1 526
17 juin 2008 à 23:38
Par exemple:
if(m_Gestion.Ordonnance.GetJTable().getValueAt(i,5) != null){
    Test= m_Gestion.Ordonnance.GetJTable().getValueAt(i,5); 
}
else{
    Test = false;
}
0
MegaBob Messages postés 27 Date d'inscription mercredi 11 juin 2008 Statut Membre Dernière intervention 19 octobre 2008 2
17 juin 2008 à 23:59
Ma fonction marche impeccable merci beaucoup de ton aide
0