我有一个程序可以将数据库显示到动态JTable
中。它工作正常。现在我想在表中再添加 1 列,每个字段中都带有复选框。我该怎么办?
这是我的代码:
public static DefaultTableModel myTableModel(ResultSet rs) throws SQLException {
ResultSetMetaData metadata = (ResultSetMetaData) rs.getMetaData();
int columnsCount = metadata.getColumnCount();
Vector<String> columnNames = new Vector<>();
for (int i = 1; i < columnsCount; i++) {
columnNames.add(metadata.getColumnName(i));
}
Vector<Object> data = new Vector<>();
while (rs.next()) {
Vector<Object> eachLine = new Vector<>();
for (int i = 1; i < columnsCount; i++) {
eachLine.add(rs.getObject(i));
}
data.add(eachLine);
}
return new DefaultTableModel(data, columnNames);
}
最佳答案
okay.how i can add 1 more column ?.
您需要为名称和添加到模型的每一行添加一列。要在表的开头添加列,您可以执行以下操作:
Vector<String> columnNames = new Vector<>();
columnNames.add("Boolean");
...
Vector<Object> data = new Vector<>();
data.add(new Boolean(false));
不需要创建自定义渲染器,但正如其他人提到的,您需要重写 getColumnClass() 方法以返回该列的 Boolean.class,以便表可以使用适当的渲染器。
关于java - 将 JCheckBox 添加到 JTable 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21050164/