Java 如何从要在子组件中识别的组件生成mouseEvent?

Java 如何从要在子组件中识别的组件生成mouseEvent?,java,Java,我有一个JTabPane,并在其中添加了一个鼠标列表器(用于选项卡标题)。 当我按下右键单击时,将创建一个弹出菜单。 当我在窗口的任何地方按下鼠标按钮时,我需要使它不可见。我该怎么做 (MouseListener仅适用于tab的标题。)在过去的好日子里,我解决这个问题的方法是在所有组件中注册一个鼠标侦听器。 您可以编写一个相当简单的函数,递归地遍历顶级容器并执行它 Java 1.1就是这样,所以今天可能有更好的选择。一种方法是抓取单击的坐标,然后用另一种方法确定单击是在选项卡上还是在选项卡的内容

我有一个JTabPane,并在其中添加了一个鼠标列表器(用于选项卡标题)。 当我按下右键单击时,将创建一个弹出菜单。 当我在窗口的任何地方按下鼠标按钮时,我需要使它不可见。我该怎么做


(MouseListener仅适用于tab的标题。)

在过去的好日子里,我解决这个问题的方法是在所有组件中注册一个鼠标侦听器。 您可以编写一个相当简单的函数,递归地遍历顶级容器并执行它


Java 1.1就是这样,所以今天可能有更好的选择。

一种方法是抓取单击的坐标,然后用另一种方法确定单击是在选项卡上还是在选项卡的内容区域内

我需要让它隐形,当我 在任何位置按鼠标键 窗户。我该怎么做

这是JPOppMenu的默认行为,因此您无需执行任何特殊操作

阅读JPopupMenu API,您会发现一个指向Swing教程“如何使用菜单”的链接。本教程包含一个使用弹出菜单的工作示例。将代码与教程进行比较,看看有什么不同。我们无法帮助您,因为我们不知道您的代码是什么样子的

如果您需要更多帮助,请发布您的