J'ai un Jtable avec 6 colonnes où j'ai des cases à cocher dans la 6e colonne.Je suis sortie du texte dans JTable en utilisant les méthodes setValueAt() et getValueAt(). Pour le même Jtable J'ai trouver, remplacer et remplacer tous les contrôles pour trouver, remplacer et remplacer tout le texte que je jtable. Le cel particulier sera focalisé pour trouver le texte. La cellule particulière sera focalisée et remplacera le texte avec le texte donné. Mon problème est, au moment de remplacer le texte avec le texte donné, im focalisant la cellule particulière et utilisant setValueAt() pour remplacer. Mais les cases à cocher dans la 6ème colonne sont dérangées et le texte apparaît dans cette colonne comme OUI ou NO (Pour la case à cocher sélectionnée, j'ai utilisé OUI et Désélectionné j'ai utilisé des chaînes NON). Voici mon exemple de code: ``problème avec les cases à cocher dans la colonne Jtable
StringTokenizer st1 = new StringTokenizer(trstring1, "\t");//trstring1 is the Jtable string
for (i = 0; st1.hasMoreTokens(); i++) {
for (j = 1; j < 6; j++) {
rowstring = st1.nextToken();
if (rowstring.contains(findTxt)) {
rowstring = rowstring.replace(findTxt, replaceTxt);
str = trstring1.replaceFirst(findTxt, replaceTxt);
mProcessQuestionTestItemTable.setCellSelectionEnabled(true);
mProcessQuestionTestItemTable.changeSelection(i, j, false, false);
mProcessQuestionTestItemTable.requestFocus();
System.out.println("I:" + i);
System.out.println("J:" + j);
mProcessQuestionTestItemTable.setValueAt(rowstring, i, j);
}
}`
Désolé pour la confusion, En fait, j'ai total de 7 colonnes.1st colonne est le numéro de série que j'ai fait cellEditable comme faux (pas besoin de modifier le numéro de série) .je veux trouver et remplacer de la 2ème colonne (ie j = 1) à la 6ème colonne (j = 5 ou j < 6) .Dans la colonne de soixante-dix j'ai des cases à cocher. Au lieu de cases à cocher je reçois son texte comme OUI/NON qui est équivalent à vrai/faux.I tracé et j'ai trouvé que les cases à cocher nt apparaissent bcoz de la mProcessQuestionTestIte mTable.setValueAt (rowstring, i, j); Que puis-je faire pour résoudre ceci – Bharath
Considérons les deux: 1) Définissez les cases à cocher du modèle de table à utiliser dans une colonne particulière pour représenter les valeurs booléennes. 2) Vous appelez 'mProcessQuestionTestItemTable.setValueAt (rowstring, i, j)' puisque vous faites une boucle j de 1 à 5, la 7ème colonne (idx = 6) ne sera jamais définie. – bguiz