我有一个有 6 列的 Jtable,其中我在第 6 列中有复选框。我使用 setValueAt() 和 getValueAt() 方法将文本输出到 JTable。对于同一个 Jtable,我有查找、替换和替换所有控件查找、替换和替换 jtable 中的所有文本。特定的 cel 将集中用于查找文本。特定的单元格将集中并用给定的文本替换文本。
我的问题是,在用给定文本替换文本时,我关注特定单元格并使用 setValueAt() 替换。但是第 6 列中的复选框受到干扰,并且文本出现在该列中,如 YES 或 NO(对于选中的复选框我使用的是,取消选中的复选框我使用的是 NO 字符串)。这是我的示例代码:``
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);
}
}`