0

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

1 回答 1

1

目前尚不清楚您得到了什么错误或在哪里得到它;我怀疑转换为Boolean. 作为一般指导,默认的渲染器和编辑Boolean.classJCheckbox; 您不必明确设置它。如此处所示,确保您遵守以下原则以使您的演员成功:

  • Boolean.class在您的TableModel.

  • Boolean.classgetColumnClass()相关列返回。

  • 从 中返回所需的值isCellEditable()

于 2013-06-23T22:27:09.203 回答