如何在 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。您添加数据并使用渲染器来渲染数据。
所以在你的情况下你需要:
- 将
Boolean.TRUE
作为数据添加到 TableModel
。
- 将
TableModel
的 getColumnClass(...)
方法重写为 return Boolean.class
以便 table 可以将布尔对象呈现为复选框。
阅读 How to Use Tables 上的 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。您添加数据并使用渲染器来渲染数据。
所以在你的情况下你需要:
- 将
Boolean.TRUE
作为数据添加到TableModel
。 - 将
TableModel
的getColumnClass(...)
方法重写为 returnBoolean.class
以便 table 可以将布尔对象呈现为复选框。
阅读 How to Use Tables 上的 Swing 教程,了解更多信息和示例以帮助您入门。