Java 如何限制在Jtable的多列中选中单个复选框

Java 如何限制在Jtable的多列中选中单个复选框,java,swing,jtable,Java,Swing,Jtable,我正在尝试实现一个Jtable,其中包括如下三个复选框表: 您能告诉我如何设置一组复选框,以便在任何时候都只允许一行中有一个选中的复选框吗?我不知道如何进行此操作。我会让TableModelListener在每次进行更改时检查这些列,并根据需要调用复选框上的setValueAt 好的,但是如何从三个布尔值(每个复选框从getValueAt返回)中进行检查,以获得是否有两个值具有特定值(false)和另一个值(true)?使用getColumn()可以获得触发TableModelevent的列。

我正在尝试实现一个Jtable,其中包括如下三个复选框表:


您能告诉我如何设置一组复选框,以便在任何时候都只允许一行中有一个选中的复选框吗?

我不知道如何进行此操作。我会让TableModelListener在每次进行更改时检查这些列,并根据需要调用复选框上的setValueAt

好的,但是如何从三个布尔值(每个复选框从getValueAt返回)中进行检查,以获得是否有两个值具有特定值(false)和另一个值(true)?使用getColumn()可以获得触发TableModelevent的列。如果它是其中一个复选框,则检查它是否已被选中或取消选中。如果已选中,则将其他两个复选框的值更改为false。这将允许所有三个复选框都为false。如果始终需要一个为true,则必须使用If else子句检查复选框的状态,这样用户就永远不允许取消选择所有三个或选择多个。否,保持内部数据的约束(例如给定行的多个布尔值中只有一个布尔值为true)是模型的固有责任,而不是一些外部监听者。