我有一个以 JLabel[][]
作为数据的 JTable。现在我想检测双击 JLabel 或表格单元格(但仅在其中一列中)。如何在 JLabel 上分别添加一个 Action/MouseListener 表格单元格?
原文由 stefita 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有一个以 JLabel[][]
作为数据的 JTable。现在我想检测双击 JLabel 或表格单元格(但仅在其中一列中)。如何在 JLabel 上分别添加一个 Action/MouseListener 表格单元格?
原文由 stefita 发布,翻译遵循 CC BY-SA 4.0 许可协议
基本上与已经接受的建议相同,除了:
a) 你应该处理 mousePressed,而不是 mouseClicked。只有在同一像素位置生成 mousePressed 和 mouseReleased 事件时,才会触发 mouseClicked 事件。如果用户在双击时将鼠标移动 1 个像素,您将不会获得预期的双击。
b) 此外,您可能需要考虑使用 columnAtPoint() 和 rowAtPoint() 方法来获取单击的单元格。尽管在这种情况下它可能没有什么不同,但如果您尝试使用 MouseListener 进行鼠标右键单击,这将很重要,因为选择没有改变。所以如果你养成使用这种方法的习惯,你以后就不会有问题了。
原文由 camickr 发布,翻译遵循 CC BY-SA 2.5 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
怎么样: