Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Swings:是否有向弹出窗口添加关闭按钮的规定?_Java_Swing - Fatal编程技术网

Java Swings:是否有向弹出窗口添加关闭按钮的规定?

Java Swings:是否有向弹出窗口添加关闭按钮的规定?,java,swing,Java,Swing,我们如何在弹出窗口上添加一个类似于右角JFrame的关闭按钮,以便通过单击它来关闭弹出窗口 感谢您的帮助您可以通过扩展JPopupMenu创建自己的PopMenu。通过向按钮添加一个动作监听器,您可以对任何您想要的动作做出反应(例如关闭弹出窗口)。以下是一个例子: public class TestPopupMenu extends JPopupMenu { private JLabel testLabel; private JButton testButton; public TestPo

我们如何在弹出窗口上添加一个类似于右角JFrame的关闭按钮,以便通过单击它来关闭弹出窗口


感谢您的帮助

您可以通过扩展JPopupMenu创建自己的PopMenu。通过向按钮添加一个动作监听器,您可以对任何您想要的动作做出反应(例如关闭弹出窗口)。以下是一个例子:

public class TestPopupMenu extends JPopupMenu {

private JLabel testLabel;
private JButton testButton;

public TestPopupMenu() {
    super();
    initMenuItems();
}

private void initMenuItems() {
    add(getTestLabel());
    add(getTestButton());       
}

private JButton getTestButton() {
    if (testButton == null) {
        testButton = new JButton("Test");
        testButton.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                // Do something what you want                   
            }
        });
    }
    return testButton;
}

private JLabel getTestLabel() {
    if (testLabel == null) {
        testLabel = new JLabel("#Some text");           
    }
    return testLabel;
}  }

创建您自己的弹出窗口。这意味着使用JPOpupMenus是不可能的?没有理由认为使用JPOpupMenus可以实现这一点。为什么要使用这样的按钮?您可以通过单击菜单外的任意位置来关闭任何JPOppMenu。