我有一个窗口(从JFrame派生),我想在某些不可中断的操作期间禁用closuresbutton。 我知道我可以通过调用使button不做任何事情(或调用WindowListener中的处理程序)
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
但我想在视觉上清楚说明点击它是没有意义的。
如果我理解正确, 这个错误报告表明这是不可能的。
这可能是最好的你会得到:
setUndecorated(true); getRootPane().setWindowDecorationStyle(JRootPane.NONE);
这将删除整个标题栏,java没有真正指定一种方法来删除标题栏的单个组件
编辑:
可能有办法,看看这些线程:
对于那些比2008年晚的人来说,已经有了一个变化,可以做到这一点。 看到这个链接
从底部的第二个反应显示如何通过名称来完成。
请试试这个
frame.addWindowlistner(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); } } });
这将帮助您:
frame.setDefaultCloseOperation(0);