6 列の Jtable があり、6 列目にチェック ボックスがあります。setValueAt() および getValueAt() メソッドを使用してテキストを JTable に出力しています。 jtable 内のすべてのテキストを検索、置換、および置換します。特定のセルは、テキストを検索するためにフォーカスされます。特定のセルがフォーカスされ、テキストを指定されたテキストに置き換えます。
私の問題は、テキストを特定のテキストに置き換えるときに、特定のセルにフォーカスし、setValueAt() を使用して置き換えることです。しかし、6 列目のチェック ボックスが乱れ、テキストが YES または NO(選択されたチェックボックスはYESを使用し、選択解除されたチェックボックスは文字列を使用しませんでした)。これが私のサンプルコードです:
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);
}
}`