java - 如何仅对JTable的一部分禁用双击?

原文 标签 java swing jtable

How can double-clicking be disabled for just one portion of a JTable?

I have a JTable with row selection enabled. Before today, my desired functionality was for double-clicking on any given row to open up a new window. And before today, that worked just fine.

I've just added a column of JCheckBoxes to the table. Selecting and deselecting individual checkboxes in the new column works fine, in general. However, if I select a checkbox and quickly deselect it, the table interprets my actions as a double-click on the checkbox's row, which is not what I want.

Is there a way to disable the double-clicking behavior for just the checkboxes, but keeping row selection enabled otherwise? If not, how about disabling the behavior for just one column of a table? If so, how?

Answer

If not, how about disabling the behavior for just one column of a table?

Use the table.columnAtPoint(...) method to ignore double clicks on the columm with the checkbox.

翻译

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

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

有没有一种方法可以仅禁用复选框的双击行为,否则可以保持行选择启用?如果不是,那么如何仅禁用表的一列的行为?如果是这样,怎么办?
最佳答案
如果不是,那么如何仅禁用表的一列的行为?


使用table.columnAtPoint(...)方法可忽略复选框上的双击。
相关推荐

java - 文档中的dom4j XML声明

java - Java字符串拆分不带空格

java - 无法从TXT文件填充JList

java - 如何使用二进制搜索来搜索列表中大于特定值的第一项?

java - 在线阅读XML文件

java - Java Scanner换行识别

java - 重用需要花费时间进行初始化的Swing组件

java - 使用ListModel更改JComboBox模型。有潜在的后果吗?

java - 在Java中将字符串转换为int

java - 在SimpleDateFormat中使用a和aaa有什么区别