我试图弄清楚如何通过“if”语句向JTable添加逻辑,该语句检查是否选择了任何行。我知道如何检查是否选择了特定行,但我似乎无法弄清楚如何检查所有行。
if(tbl.isRowSelected(0)){
显然,这是检查特定行。
我也试过像
这样的东西if(tbl.isRowSelected(0-2000)){
这不起作用,我也没想到它会起作用。
原因是我正在设置表格,以便当用户点击一行然后点击“编辑”按钮时,将出现第二个表格,其中包含与所选行相关的更多数据。 (这里使用哈希映射中的2D数组变得复杂,但我首先需要解决这个简单的问题)。
提前感谢您的帮助!
答案 0 :(得分:4)
这应该可以使用ListSelectionModel
,可以使用JTable::getSelectionModel()
因此,您可以致电table.getSelectionModel().isSelectionEmpty()
以确定是否选择了任何行。
答案 1 :(得分:2)
使用:
table.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
public void valueChanged(ListSelectionEvent event) {
// do some actions here, for example
// print first column value from selected row
System.out.println(table.getValueAt(table.getSelectedRow(), 0).toString());
}
});
答案 2 :(得分:2)
使用table.getSelectedRow()它返回所选行的索引 和getSelectedColumn()返回选定的列
并且有getSelectedRows()它返回所选行的索引数组
materialize