我需要一个带有附加下拉式菜单的JButton。所以我采用了JPopupMenu并将其附加到JButton,如下面的代码所示。它需要做的是:点击时显示弹出窗口第二次点击隐藏如果在弹出窗口中选择了一个项目则隐藏它如果用户点击屏幕上的其他地方则隐藏它这4件事有效,但由于我使用的boolean标志,如果用户单击其他地方或选择一个项目,我必须在按钮再次显示之前单击两次。这就是为什么我尝试添加一个FocusListener(它绝对没有响应)来解决这个问题并在这些情况下将标志设置为false。编辑:在回答帖子中的最后一次尝试......这是监听器:(它在扩展JButton的类中,所以第二个监听器在J