繁体   English   中英

如何禁用(或隐藏)JFrame上的关闭(x)按钮?

[英]How to disable (or hide) the close (x) button on a JFrame?

我有一个窗口(从JFrame派生),我想在某些不可中断的操作中禁用关闭按钮。 我知道我可以通过调用使按钮不做任何事情(或在WindowListener中调用处理程序)

setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

但我想直观地说明点击它是没有意义的。

这可能是你得到的最好的:

setUndecorated(true);
getRootPane().setWindowDecorationStyle(JRootPane.NONE);

这将删除整个标题栏,java并没有真正指定删除标题栏的各个组件的方法

编辑:

可能有办法,看看这些主题:

如果我理解正确, 这个错误报告表明目前无法做到这一点。

对于那些晚于2008年的人来说,有一个变化使得这样做成为可能。 看到这个链接

底部的第二个响应显示了如何按名称进行操作。

这将有助于您:

frame.setDefaultCloseOperation(0);

请试试这个

frame.addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent e) {
        e.getWindow().setVisible(false);
            try {
                wait();
            } catch (InterruptedException ex) {
                Logger.getLogger(WindowsActions.class.getName()).log(Level.SEVERE, null, ex);
            }
      }
    });

要简单地让它们消失,请尝试以下操作:

setUndecorated(true);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM