如何从jtable中连续勾选jcheckbox获取值
我有一个基于数据库值的3列和动态行的表,以及基于此代码的最后一列中的jcheckbox:
TableColumn tcolumn = tabel.getColumnModel().getColumn(2); tcolumn.setCellRenderer(tabel.getDefaultRenderer(Boolean.class)); tcolumn.setCellEditor(tabel.getDefaultEditor(Boolean.class));
我的表的例子:
============================================ val 1 || val 2 || val 3 (checkbox) || ============================================ from FB || from DB || checkbox || from DB || from DB || checkbox || ===========================================
我的问题很简单,如何从第2列(值3)的勾选复选框中获取所有值1?
我尝试了很多简单的代码但仍然出错。
这是我的代码:
for (int row =0; row <= tabel.getSelectedRowCount(); row++) { Boolean b = ((Boolean) tblModel.getValueAt(row, 2)); if (b.booleanValue()) { System.out.print(tblModel.getValueAt(row, 0)+" || "); } }
目前尚不清楚你得到的错误或得到的错误; 我怀疑错误转换为Boolean
。 作为一般指导, Boolean.class
的默认渲染器和编辑器是JCheckbox
; 你不应该明确地设置它。 如此处所示,请确保您遵守以下原则,以使您的演员成功:
-
在
TableModel
插入Boolean.class
类型的值。 -
从
getColumnClass()
返回相关列的Boolean.class
。 -
从
isCellEditable()
返回所需的值。