Java 选中JTable中的复选框时的通知

Java 选中JTable中的复选框时的通知,java,jtable,jcheckbox,Java,Jtable,Jcheckbox,我已经搜索了很长一段时间,但没有找到一个明确的例子。我是一个使用NetBeans的Java新手。我在JTable(称为“Enabled”)的第一列中有一个布尔值,我需要调用一些插件代码,以查看它是否具有启用所需的设置,如果没有,则显示一个消息框并防止选中Enabled 我真正需要的是在选中复选框时调用一个函数,然后我就可以从那里获取它。有没有人举过这样的例子 谢谢你的帮助 Harry如中所述,您可能需要一个。或者,您可以使用,如和下一节中所述 我真正需要的是一个函数 选中复选框时将调用 选中该复

我已经搜索了很长一段时间,但没有找到一个明确的例子。我是一个使用NetBeans的Java新手。我在JTable(称为“Enabled”)的第一列中有一个布尔值,我需要调用一些插件代码,以查看它是否具有启用所需的设置,如果没有,则显示一个消息框并防止选中Enabled

我真正需要的是在选中复选框时调用一个函数,然后我就可以从那里获取它。有没有人举过这样的例子

谢谢你的帮助

Harry

如中所述,您可能需要一个。或者,您可以使用,如和下一节中所述

我真正需要的是一个函数 选中复选框时将调用

选中该复选框后,模型中的值将发生更改,这可能不是您想要的。我认为您首先要防止选中复选框

防止单元格可编辑的方法是重写JTable的isCellEditable(…)方法。通过重写此方法,可以动态确定单元格是否应可编辑

JTable table = new JTable( ... )
{
    public boolean isCellEditable(int row, int column)
    {
        int modelColumn = convertColumnIndexToModel( column );

        if (modelColumn == yourBooleanColumn)
            return isTheBooleanForThisRowEditable(row);
        else
            return super.isCellEditable(row, column);
    }
};

一种更为奇特的方法是创建一个自定义渲染器,这样即使在用户尝试单击单元格之前,复选框也会显示为“已禁用”。查看垃圾神在渲染器上提供的链接。

+1,当您想知道模型中的值何时被更改时,TableModelListener是一种方法。啊,这就是问题所在!谢谢你的帮助!现在,我只需要清理我所有失败的尝试,没有工作+1用于演示所需的索引转换。自定义渲染器的另一个好处是能够指定工具提示。