我有一个基于数据库值的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)+" || ");
}
}
答案 0 :(得分:1)
目前尚不清楚你得到的错误或得到的错误;我怀疑错误转换为Boolean
。作为一般指导,Boolean.class
的{{3}}是JCheckbox
;你不应该明确地设置它。如图default renderer and editor所示,请确保您遵循以下原则让您的演员成功:
在Boolean.class
中插入TableModel
类型的值。
从Boolean.class
返回相关列的getColumnClass()
。
从isCellEditable()
返回所需的值。