当子弹出窗口打开时,JPopupMenu关闭

我在JPopupMenu中有一个JComboBox(以及其他组件)。 事实certificate,每当我打开combobox的弹出窗口(选择一个项目)时,父JPopupMenu就会关闭。 我一直试图找到一种方法来覆盖这个function,但无济于事。

有没有人有任何建议,以防止关闭父JPopupMenu? 谢谢!

不可能直接,它很难覆盖已知的bug ,在其他手中Swing不允许同时有两个lightwieght弹出组件

import javax.swing.*; import java.awt.event.*; public class Test { public static void main(String[] args) { JFrame frame = new JFrame(); frame.setSize(400, 400); frame.setVisible(true); String[] list = {"1", "2", "3", "4",}; JComboBox comb = new JComboBox(list); final JPopupMenu pop = new JPopupMenu(); pop.add(comb); frame.addMouseListener(new MouseAdapter() { @Override public void mousePressed(MouseEvent e) { System.out.println("mousePressed"); pop.show(e.getComponent(), e.getX(), e.getY()); } }); } } 

但解决方法很简单,使用JWindows或未装饰的JDialogJComboBox而不是JPopup