我正在使用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
}
});
}
}
然后我的第二堂课看起来很相似,并负责处理所有按钮等。我怎么能做到这一点?
答案 0 :(得分:2)
有关在跨平台MouseListener
中处理此问题的正确方法,请参阅How to Use Menus: Bringing Up a Popup Menu。更简单地说,使用setComponentPopupMenu()
,如图所示here。在任何一种情况下,请注意使用Action
来封装所需的功能。
答案 1 :(得分:0)
使用类似
的内容if (evt.getModifiers() == MouseEvent.BUTTON3_MASK){
popup.show(evt.getComponent(), evt.getX(), evt.getY());//show popup
}