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

发布于 2024-11-06 13:49:08 字数 272 浏览 0 评论 0原文

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

我刚刚在表中添加了一列 JCheckBoxes。一般来说,选择和取消选择新列中的各个复选框效果很好。但是,如果我选择一个复选框并快速取消选择它,该表会将我的操作解释为双击该复选框的行,这不是我想要的。

有没有办法仅禁用复选框的双击行为,但保持启用行选择?如果不是,那么仅禁用表的一列的行为怎么样?如果是这样,怎么办?

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?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

小姐丶请自重 2024-11-13 13:49:08

如果没有,只禁用表的一列的行为怎么样?

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

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.

影子是时光的心 2024-11-13 13:49:08

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

In the MouseListener you could check the state of the checkbox of the selected row for each click and if the second click's state doesn't match the first click's state then don't open a new window.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文