这不可能直接实现,很难覆盖已知的错误,另一方面,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或未装饰
JDialog用
JComboBox的,而不是
JPopup



