获取数据在 JTable 中的位置
getting position of data in JTable
我的问题是这是否是一种在 JTable 中定位数据的方法。
table = new JTable();
table.setModel(new DefaultTableModel(
new Object[][] {
{"Peter", new Integer(15)},
{"Max", new Integer(12)},
},
new String[] {
"Name", "Age"
}
)
现在我想要例如的位置。 12 这样我就可以在单击按钮时标记它。如果也可以的话,如果我也可以搜索一个号码或一个名字就更好了。
提前感谢您的回答
这是在任意列中查找包含指定值的第一行的方法。
public static int firstRowContainsObject(JTable table, Object obj) {
for (int i = 0; i < table.getRowCount(); i++) {
for (int j = 0; j < table.getColumnCount(); j++) {
if (Objects.equals(obj, table.getValueAt(i, j))) {
return i;
}
}
}
return -1;
}
注意:如果在 table.
中找不到这样的对象,则此方法 returns -1
您的情况下的用法:
firstRowContainsObject(table, 12); // returns 1
firstRowContainsObject(table, "Peter"); // returns 0
firstRowContainsObject(table, "Mary"); // returns -1
我的问题是这是否是一种在 JTable 中定位数据的方法。
table = new JTable();
table.setModel(new DefaultTableModel(
new Object[][] {
{"Peter", new Integer(15)},
{"Max", new Integer(12)},
},
new String[] {
"Name", "Age"
}
)
现在我想要例如的位置。 12 这样我就可以在单击按钮时标记它。如果也可以的话,如果我也可以搜索一个号码或一个名字就更好了。
提前感谢您的回答
这是在任意列中查找包含指定值的第一行的方法。
public static int firstRowContainsObject(JTable table, Object obj) {
for (int i = 0; i < table.getRowCount(); i++) {
for (int j = 0; j < table.getColumnCount(); j++) {
if (Objects.equals(obj, table.getValueAt(i, j))) {
return i;
}
}
}
return -1;
}
注意:如果在 table.
中找不到这样的对象,则此方法 returns -1您的情况下的用法:
firstRowContainsObject(table, 12); // returns 1
firstRowContainsObject(table, "Peter"); // returns 0
firstRowContainsObject(table, "Mary"); // returns -1