Java - 有没有一种方法可以在Swing应用程序中隐藏关闭按钮?

7

有没有办法在Swing应用程序中隐藏关闭按钮?

我知道可以使用JFrame.DO_NOTHING_ON_CLOSE,但有没有完全消除它的方法?

如果我写setUndecorated(true),我会得到
IllegalComponentStateException - the frame is displayable


有没有类似于 SetVisible(false) 的东西? - Bastardo
顺便提一下,我找到了这个链接:如何禁用窗口(例如框架)的关闭、最小化和可调整大小? 或者,可以使用 JWindow 代替 JFrame。 - user166390
系统菜单怎么办?即使您删除了关闭按钮,用户仍然可以使用Alt-F4关闭窗口。最好坚持已知的解决方案并使用“关闭时不执行任何操作”。 - camickr
@camickr 那也应该做,没错。但它仍然不能解决界面问题,这可能会非常让人恼火。 - user166390
1个回答

6
使用frame.setUndecorated(true)在窗口已经被显示的情况下会导致错误,因为这不被API允许。相反,在设置frame.setVisible(true)之前使用frame.setUndecorated(true)。这样就可以解决错误:

IllegalComponentStateException - 窗口可见

如果成功,关闭按钮将被隐藏。

尽管我直到调用pack()之后才使用setVisible(true),但是将setUndecorated(true)放在后面仍然导致了相同的错误。 - Ozzy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接