Java 使用另一个JPanel中的JPanel在单击按钮时创建弹出窗口

Java 使用另一个JPanel中的JPanel在单击按钮时创建弹出窗口,java,swing,jpanel,jbutton,popupwindow,Java,Swing,Jpanel,Jbutton,Popupwindow,我正在使用netbeans为我正在使用的工具创建GUI。工具内容包含在一个扩展JPanel的类中,该类有一个按钮。当我单击按钮时,我希望弹出一个窗口,其中将有其他按钮和选项,其内容在另一个类中定义,该类也扩展了JPanel。我怎样才能做到这一点 主类的简化代码。我删除了所有对此问题不重要的代码: public class FirstPanel extends JPanel { private JButton myButton; public FirstPanel() {

我正在使用netbeans为我正在使用的工具创建GUI。工具内容包含在一个扩展JPanel的类中,该类有一个按钮。当我单击按钮时,我希望弹出一个窗口,其中将有其他按钮和选项,其内容在另一个类中定义,该类也扩展了JPanel。我怎样才能做到这一点

主类的简化代码。我删除了所有对此问题不重要的代码:

public class FirstPanel extends JPanel {

    private JButton myButton;

    public FirstPanel() {

        myButton = new JButton("Button");
        myButton.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent ae) {

                // TO DO

            }
        });
    }
}
然后我的第二个类看起来很相似,负责处理所有的按钮等等。我怎样才能做到这一点呢?

使用类似

if (evt.getModifiers() == MouseEvent.BUTTON3_MASK){  
    popup.show(evt.getComponent(), evt.getX(), evt.getY());//show popup 
}

有关跨平台处理此问题的正确方法,请参见。更简单的方法是使用
setComponentPopupMenu()
,如图所示。在这两种情况下,请注意使用来封装所需的功能。

@user3280809:如果您采用这种方式,请使用。