我有一个正在从数据库获取数据的表。但是我想添加一个带有复选框的行,该复选框具有作为名称的属性。但是,每次我运行程序时,它都会将值显示为
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);
}
答案 0 :(得分:1)
您没有将组件添加到JTable的TableModel中。您添加数据并使用渲染器渲染数据。
因此,您需要:
Boolean.TRUE
作为数据添加到TableModel
。getColumnClass(...)
的{{1}}方法以返回TableModel
,以便表可以将布尔对象呈现为复选框。阅读How to Use Tables上的Swing教程,以获取更多信息和示例,以帮助您入门。