java - 将 JCheckBox 添加到 JTable 中

标签 java swing jtable jcheckbox

我有一个程序可以将数据库显示到动态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/

相关文章:

java - Swing 文本字段可见性问题

java - 将所有 JTable 单元格设置为不可选择

java - 如何使用DefaultCellEditor使JTable的列仅获取数字并在点后用两个符号对它们进行四舍五入?

java - 动态创建 spring bean 并更改现有 bean 的属性

java - 如何将参数传递到类中,以便在构造函数中传递其参数时 JFrame 会移动?

java - 在swing中使用getComponent()调用一个变量

java JTable 如何跟踪行

java - 如何获取 List<object> 的特定索引中的总项目数?

java - Android 在恢复时崩溃。如何解释这个异常?

java - 如何从 InputStream 获取 SelectableChannel?