如何在 table Swing 中添加 CheckBox 对象

How to add CheckBox object in table in JAVA Swing

我有一个 table 从数据库获取数据。但是我想添加一行带有名称属性的复选框但是每次我 运行 程序它显示值作为

javax.swing.JCheckBox[ , 0, 0, 0x0, invalid, alignmentX = 0.0, alignmentY = 0.5, border = java................

这是代码。

while(rs.next()) {

    Vector row = new Vector();

    String name = rs.getString("name");
    String catid = rs.getString("catalogid");
    String brand = rs.getString("brand");
    String counter = rs.getString("counter");
    String qty = rs.getString("qty");
    String price = rs.getString("column_price");

    row.add(name);
    row.add(catid);
    row.add(brand);
    row.add(counter);
    row.add(qty);
    row.add(price);

    cb = new JCheckBox(name, true);
    row.add(cb);
    model.addRow(row);
}

您没有将组件添加到 JTable 的 TableModel。您添加数据并使用渲染器来渲染数据。

所以在你的情况下你需要:

  1. Boolean.TRUE 作为数据添加到 TableModel
  2. TableModelgetColumnClass(...) 方法重写为 return Boolean.class 以便 table 可以将布尔对象呈现为复选框。

阅读 How to Use Tables 上的 Swing 教程,了解更多信息和示例以帮助您入门。