一年前,我发布了一个类似的问题,但是它的写法并不太好,没有得到我可以使用的答案。现在我站在同一个问题的面前。我有一个JPanel(我的contentPane),其中实现了MouseListener。我在任何地方单击,都可以获得鼠标单击的确切坐标。除了我的JTextFields。当我单击它们时,mouseEvent甚至都不会触发。我该怎么做,因此我的鼠标单击也将称为mouseEvent? 尝试过:setEnable(false)和setHighlighter(null)
预先感谢 拉格纳罗克
答案 0 :(得分:0)
抱歉,我已经解决了X / Y问题。
X / Y问题只是意味着您在告诉我们您尝试的解决方案是什么,而没有告诉我们您的要求是什么。如果我们不知道您要做什么,我们将不建议采用其他方法。
我要打开菜单,
现在我们知道要求是什么了。
解决方案是将MouseListener添加到文本字段,而不是面板。如果面板和文本字段的弹出窗口相同,则仍然需要将侦听器添加到面板和文本字段。
您可以通过以下两种方式之一进行操作:
请阅读Bringing up a Popup Menu的Swing教程中的部分,以获取工作示例。
请注意,以上教程有些古老,您也可以查看setComonentPopuMenu(...)
类的JComponent
方法。这种方法将为您创建侦听器。