Java 从表中获取值
在下面的代码中,我浏览一个表并查找包含蓝色图标的列。如果是这种情况,我会计算包含蓝色图标和单词“ble”的行数 但我所做的并不是我喜欢的Java 从表中获取值,java,swing,jtable,Java,Swing,Jtable,在下面的代码中,我浏览一个表并查找包含蓝色图标的列。如果是这种情况,我会计算包含蓝色图标和单词“ble”的行数 但我所做的并不是我喜欢的 for (int i = 0; i <myTable.getRowCount(); i++) { myTable.selectCell(i, 1); if (myTable.getIcon(i, 0) == ("blue.gif")) { if (myTable.getRowValue
for (int i = 0; i <myTable.getRowCount(); i++)
{
myTable.selectCell(i, 1);
if (myTable.getIcon(i, 0) == ("blue.gif"))
{
if (myTable.getRowValue(i, 0).contains("ble."))
{
int counter = 0;
counter = counter + 1;
System.out.println(counter);
}
}
}
for(int i=0;i这是因为在向计数器添加1之前,您将计数器重置为0,因此计数器始终显示1。不工作,因为我认为这意味着您获得所有1?这是因为您每次在if中重置计数器:
for (...) {
...
if (...) {
int counter = 0; // you do this every time
}
...
}
相反,将计数器移出循环:
int counter = 0; // only do it once, here
for (...) {
...
if (...) {
counter = counter + 1
}
...
}
计数器
变量必须在
的上方声明:
int counter = 0;
for (int i = 0; i <myTable.getRowCount(); i++) {
myTable.selectCell(i, 1);
if (myTable.getIcon(i, 0) == ("blue.gif")) {
if (myTable.getRowValue(i, 0).contains("ble.")) {
counter++;
System.out.println(counter);
}
}
}
int计数器=0;
对于(inti=0;i既然您已经在使用'i'作为计数器变量,那么就没有必要再创建一个名为'counter'的变量
for (int i = 0; i <myTable.getRowCount(); i++) {
myTable.selectCell(i, 1);
if (myTable.getIcon(i, 0) == ("blue.gif")) {
if (myTable.getRowValue(i, 0).contains("ble.")) {
System.out.println(i + "");
}
}
}
for(int i=0;i Alexey,我尝试了您的建议,但在控制台中我没有计数器的打印:(此代码与您的代码相同,在for
循环之前声明了counter
。我想您必须以其他方式比较图标,或者(“blue.gif”)
。有三个方面,1)如何将图标/ImageIcon
放入表格单元格
2)如何为特定的表格列定义列
3)如果存在TableModel
和TableCellRenderer
类型,请***在此论坛上查看这些主题,或者使用可运行代码编辑您的帖子,其中显示了JTable
的所有解决方法,或者使用主题启动一个新线程,主题是如何将图标/图像图标
放置到JTable
i
是迭代器通过的表的所有行。计数器
变量用于获取满足条件的行数。