如何设置JTable的某一行被选中

如何设置JTable的某一行被选中,第1张

if (arg.selection) { var selection = arg.selectionfor (var i = selection.length - 1i >= 0i++) { var entity = selection[i]if (entity.get("fileType") == "1") selection.removeAt(i)//不让此行被选中 } }

假设JTable table已实例化,设置选中表格中的行:

table.setRowSelectionInterval(int index0,int index1)//选择从 index0 到 index1 之间(包含两端)的行。

table.setRowSelectionInterval(0,0)//表示选中第一行

思路,先设置选择的区间如:1~2,再去除那些不需要选中的如1~1,就把下标为1的取消选中了。ListSelectionModel listSelectionModel = new DefaultListSelectionModel()listSelectionModel .setSelectionInterval(0, 2)table.setSelectionModel(ListSelectionModel)listSelectionModel .removeSelectionInterval(1, 1)另外,不着题目的一个小发现,swing加载jtable显示数据是用了惰性加载,也就是说,如果当前显示的是1~50行的数据,那么后面的数据就不会先从model里取出来,即不会第51次调用model的getValueAt(),这样如果你测试时没有下拉显示第51条数据,就可能对一些错误数据没有加入判断处理。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11226977.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存