如何只为JTable的一部分禁用双击?

时间:2011-05-12 14:50:51

标签: java swing jtable

我有一个JTable,启用了行选择。在今天之前,我想要的功能是双击任何给定的行来打开一个新窗口。在今天之前,这很好用。

我刚刚在表格中添加了一列JCheckBox es。通常,选择和取消选择新列中的各个复选框可以正常工作。但是,如果我选中一个复选框并快速取消选中它,该表会将我的操作解释为双击复选框的行,这不是我想要的。

有没有办法只为复选框禁用双击行为,但是否则启用行选择?如果没有,如何禁用表的一列的行为?如果是这样,怎么样?

2 个答案:

答案 0 :(得分:5)

  

如果没有,如何禁用表中一列的行为?

使用table.columnAtPoint(...)方法忽略对复选框的双击。

答案 1 :(得分:3)

MouseListener中,您可以检查每次点击所选行的复选框的状态,如果第二次点击的状态与第一次点击的状态不匹配,则不要打开新窗口。