如何使 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 添加到文本字段,而不是面板。如果你有相同的面板和文本字段的弹出,那么你仍然需要将监听器添加到面板和文本字段。
您可以通过以下两种方式之一执行此操作:
阅读 Swing 教程中关于 Bringing up a Popup Menu 的部分以获得工作示例。
注意上面的教程有点老了,大家也可以看看JComponent
class的setComonentPopuMenu(...)
方法。此方法将为您创建侦听器。
一年前我发布了一个类似的问题,但它写得不是很好,我没有得到我可以使用的答案。现在我站在同样的问题面前。我有一个 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 添加到文本字段,而不是面板。如果你有相同的面板和文本字段的弹出,那么你仍然需要将监听器添加到面板和文本字段。
您可以通过以下两种方式之一执行此操作:
阅读 Swing 教程中关于 Bringing up a Popup Menu 的部分以获得工作示例。
注意上面的教程有点老了,大家也可以看看
JComponent
class的setComonentPopuMenu(...)
方法。此方法将为您创建侦听器。