如何从jtable中连续勾选jcheckbox获取值

时间:2013-06-22 21:10:25

标签: java swing jtable

我有一个基于数据库值的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)+" || ");
    }
  } 

1 个答案:

答案 0 :(得分:1)

目前尚不清楚你得到的错误或得到的错误;我怀疑错误转换为Boolean。作为一般指导,Boolean.class的{​​{3}}是JCheckbox;你不应该明确地设置它。如图default renderer and editor所示,请确保您遵循以下原则让您的演员成功:

  • Boolean.class中插入TableModel类型的值。

  • Boolean.class返回相关列的getColumnClass()

  • isCellEditable()返回所需的值。