Java 使用另一个JPanel中的JPanel在单击按钮时创建弹出窗口
我正在使用netbeans为我正在使用的工具创建GUI。工具内容包含在一个扩展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() {
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:如果您采用这种方式,请使用。