繁体   English   中英

如果选择了任何行,则为JTable

[英]JTable if any row is selected

我试图弄清楚如何通过“if”语句向JTable添加逻辑,该语句检查是否选择了任何行。 我知道如何检查是否选择了特定行,但我似乎无法弄清楚如何检查所有行。

if(tbl.isRowSelected(0)){

显然,这是检查特定行。

我也试过类似的东西

if(tbl.isRowSelected(0-2000)){

这不起作用,我也不希望它起作用。

这样做的原因是我正在设置表,以便当用户单击一行然后点击“编辑”按钮时,将出现第二个表,其中包含与所选行相关的更多数据。 (这里使用哈希映射中的2D数组变得复杂,但我首先需要解决这个简单的问题)。

我在这里先向您的帮助表示感谢!

这应该可以使用ListSelectionModel ,可以使用JTable::getSelectionModel()检索

因此,您可以调用table.getSelectionModel().isSelectionEmpty()来查找是否选择了任何行。

采用 :

 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());
        }
    });

使用table.getSelectedRow()它返回所选行的索引,getSelectedColumn()返回所选列

并且有getSelectedRows()它返回所选行的索引数组

int[] indexs=table_name.getSelectedRows();
//all the selected row are here no need to go throw 
//all your rows to see if they are selected or not
for(int index_row:rows){
   //you code here
 }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM