如何使 JTextFields 可点击?

How to make JTextFields clickable?

一年前我发布了一个类似的问题,但它写得不是很好,我没有得到我可以使用的答案。现在我站在同样的问题面前。我有一个 JPanel(我的内容窗格),其中实施了 MouseListener

无论我点击哪里,我都会得到鼠标点击的准确坐标。除了我的 JTextField 组件。当我点击它们时,MouseEvent 甚至没有被触发。 H

我该怎么做,这样我的鼠标点击它们也会调用鼠标事件?

已尝试:setEnable(false)setHighlighter(null)

Sorry thought I fixed the X/Y problem.

X/Y 问题仅仅意味着您告诉我们您尝试的解决方案是什么,但没有告诉我们您的要求是什么。如果我们不知道您要做什么,我们无法建议不同的方法。

I want to open a menu,

现在我们知道需求是什么了。

解决方案是将 MouseListener 添加到文本字段,而不是面板。如果你有相同的面板和文本字段的弹出,那么你仍然需要将监听器添加到面板和文本字段。

您可以通过以下两种方式之一执行此操作:

  1. 阅读 Swing 教程中关于 Bringing up a Popup Menu 的部分以获得工作示例。

  2. 注意上面的教程有点老了,大家也可以看看JComponentclass的setComonentPopuMenu(...)方法。此方法将为您创建侦听器。