Bonsoir à tous
J evoudrais récupéré la valeur d'un checkbox se trouvant dans un jTable
le code suivant me génère une erreur:
boolean sNumsd=(boolean)jTable1.getValueAt(2,2).equals(jTable1);
y'aurait il un moyen de le réaliser
Merci
Bonsoir à tous
J evoudrais récupéré la valeur d'un checkbox se trouvant dans un jTable
le code suivant me génère une erreur:
boolean sNumsd=(boolean)jTable1.getValueAt(2,2).equals(jTable1);
y'aurait il un moyen de le réaliser
Merci
si ton tableau affiche une checkbox, c'est qu'il contient un booleen.
qu'est ce que tu as voulu faire avec ca: .equals(jTable1) ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 bollean b = (boolean)jTable1.getValueAt(2,2);
Bonjour à tous,
Merci pour ton aide eclisia, seulement lorsque j'écris le code suivant
int k=0;
boolean b=true;
while (b)
{
sLib=(String)jTable1.getValueAt(k,0).toString();
boolean b1=(boolean)jTable1.getValueAt(k,1);
boolean b2=(boolean)jTable1.getValueAt(k,2);
boolean b3=(boolean)jTable1.getValueAt(k,3);
boolean b4=(boolean)jTable1.getValueAt(k,4);
// Ici il y'aura une insertion dans la BD
k=k+1;
b=k<nbreLigne;
}
le compilateur me dit:
java.lang.object required boolean at line 245, colum 41, correspodant à la première ligne où se situr le code à savoir
boolean b1=(boolean)jTable1.getValueAt(k,1);
Pour être plus claire, voici le chargement de ma jTable qui provien d'un requête. l'affichage ne pose pas de problème.J'utilise jBuilder 2005.
try {
PreparedStatement st = pst.prepareStatement(sql);
// st.executeQuery();
ResultSet Valeur = st.executeQuery();
int i, j,nbr;
i = 0;
j = 0;
// nbr=Valeur.
boolean bL = Valeur.next();
data[0][0]=Valeur.getString("LIBELLE");
data[0][1]=Boolean.FALSE;
data[0][2]=Boolean.FALSE;
data[0][3]=Boolean.FALSE;
data[0][4]=Boolean.FALSE;
i=1;
bL=Valeur.next();
while (bL){
for (j=0; j<5; j++){
data[i][j]=Valeur.getString(j+1);
}
bL=Valeur.next();
i=i+1;
}
}
que puis-je faire??
de petite amélioration dabord :
sLib=(String)jTable1.getValueAt(k,0).toString();
-> sLib = jTable1.getValueAt(k,0).toString();
pas besoin de faire un (String) devant vu qu'a la fin tu fais .toString() donc on est sur d'avoir une chaine.
k=k+1;
-> k++;
incrementation de 1, c'est fait pour ca.
pour ton erreur :
data[0][1]=Boolean.FALSE;
boolean b1=(boolean)jTable1.getValueAt(k,1);
essai d'afficher la classe de l'objet dans la cellule avec.
System.out.println( jTable1.getValue(k,1).class ); ou .getClass()
je pense que ca va renvoyer un Boolean et pas un boolean.
ps : j'ai pas d'editeur sous la main pour verifier mes dires ^^
j'ai essayé
data[i][j]=(boolean)Valeur.getClass();
et
data[i][j]=(boolean)Valeur.Class();
mais j'ai toujours des erreurs;
Finalement avec le code ci-dessous
boolean b1=(boolean)jTable1.getValueAt(k,1).equals(jTable1);
j'arrive à avoir la valeur. le seul problème actuellement c'est que le changement de d'état des checkbox n'est pas pris en compte. c'est tours à false, valeur initiale. Comment pouvoir détecter le changement d'état du chekbox ?
j'ai lu qu'il fallait implémenter le TableModelListener, comment le faire?
Merci
En ajoutant un listener à ton JCheckBox :Envoyé par fblaiso
Voir :
Code : Sélectionner tout - Visualiser dans une fenêtre à part monCheckBox.addActionListener(new MonListener());
How to Write an Action Listener
essai d'afficher la classe de l'objet dans la cellule avec.
System.out.println( jTable1.getValue(k,1).class ); ou .getClass()*il y a des jours ou il faut mieux rester couché*j'ai essayé
data[i][j]=(boolean)Valeur.getClass();
et
data[i][j]=(boolean)Valeur.Class();
mais j'ai toujours des erreurs;
Finalement avec le code ci-dessous
boolean b1=(boolean)jTable1.getValueAt(k,1).equals(jTable1);![]()
gratte toi la tete et regarde ce que tu ecris :
boolean b1=(boolean)jTable1.getValueAt(k,1).equals(jTable1);
et tu crois que ca peut marcher???
je vais tacher d'expliquer :
quand tu fais untruc.equals(unautretruc), tu demande en bon francais "est ce que untruc est le meme que unautretruc?" et java te renvoit OUI (true) ou NON (false).
donc ca : jTable1.getValueAt(k,1).equals(jTable1)
tu lui demande : est ce que la valeur qui est dans la cellule a cet endroit (k,1) est la meme chose que le tableau en entier? java qui fait que ce qu'on lui demande reflechit et te dit NON (false), c'est evident que le contenu d'une cellule n'est pas la meme chose que le tableau qui contient cette meme cellule.
Partager