我有一个JTable
,启用了行选择。在今天之前,我想要的功能是双击任何给定的行来打开一个新窗口。在今天之前,这很好用。
我刚刚在表格中添加了一列JCheckBox
es。通常,选择和取消选择新列中的各个复选框可以正常工作。但是,如果我选中一个复选框并快速取消选中它,该表会将我的操作解释为双击复选框的行,这不是我想要的。
有没有办法只为复选框禁用双击行为,但是否则启用行选择?如果没有,如何禁用表的一列的行为?如果是这样,怎么样?
答案 0 :(得分:5)
如果没有,如何禁用表中一列的行为?
使用table.columnAtPoint(...)方法忽略对复选框的双击。
答案 1 :(得分:3)
在MouseListener
中,您可以检查每次点击所选行的复选框的状态,如果第二次点击的状态与第一次点击的状态不匹配,则不要打开新窗口。