Les Allergies
Alimentaires
Posez votre question Signaler

Recupere un boolean dans une Jtable [Résolu]

MegaBob 27Messages postés 11 juin 2008Date d'inscription - Dernière réponse le 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
Lire la suite 

Recupere un boolean dans une Jtable »

8 réponses
Réponse
+2
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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?
kilian- 17 juin 2008 à 23:16
Ben alors fait un contrôle pour savoir si c'est égal à null :-)
Ajouter un commentaire
Réponse
+0
moins plus
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?
kilian- 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à :-)
Ajouter un commentaire
Réponse
+0
moins plus
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?
Ajouter un commentaire
Réponse
+0
moins plus
Par exemple:
if(m_Gestion.Ordonnance.GetJTable().getValueAt(i,5) != null){
    Test= m_Gestion.Ordonnance.GetJTable().getValueAt(i,5); 
}
else{
    Test = false;
}
Ajouter un commentaire
Réponse
+0
moins plus
Ma fonction marche impeccable merci beaucoup de ton aide
Ajouter un commentaire
Ce document intitulé « Recupere un boolean dans une Jtable » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?