java - 当 JCheckBox 由表模型生成时初始化它们

标签 java swing listener jcheckbox tablemodel

在 Java Swing 中,我创建了一个 JTable,它使用扩展 DefaultTableModel 的表模型类。由于表中一行的值是 boolean 类型,因此这些值显示为复选框。由于我想向这些复选框添加“项目监听器”类,因此我确实需要初始化每个复选框。但如果这些是由表模型自动创建的,我该怎么办?

最佳答案

由于这些复选框更改了基础数据,因此添加 TableModelListener 就足够了并对该列的 tableChanged 事件使用react。

jTable1.getModel().addTableModelListener(new TableModelListener() {
    final int YOUR_BOOLEAN_COLUMN = 1;
    public void tableChanged(TableModelEvent e) {
        if(e.getColumn() == YOUR_BOOLEAN_COLUMN) {
            // get value from model (not affected if user re-orders columns)
            TableModel tableModel = jTable1.getModel();
            Boolean value =
                (Boolean)tableModel.getValueAt(e.getFirstRow(), YOUR_BOOLEAN_COLUMN);
            System.out.println(value);
        }
    }
});

关于java - 当 JCheckBox 由表模型生成时初始化它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2178375/

相关文章:

java - 工具栏 - 应用程序不断停止

Java AES 和使用我自己的 key

Java JPanel 不会出现在 Linux 中的 JFrame 中

java - MouseListener 在 JLabel 中不起作用

java - 更改 Gridlayout Java 的间距

java - 显示 TableViewer 不是按行,而是按矩阵顺序

Java lambdas 堆转储 - lambda 实例没有被垃圾收集

java - 处理自动创建的退出按钮?

java - 空指针异常 - 事件和监听器

android - 如何接收启用/禁用的GPS?