- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我正在使用以下代码进行练习,
我也加了
frame.setSize(frame.getMaximumSize());
在 createAndShowGUI() 方法中,
更重要的是,我希望这个窗口没有标题栏、关闭和最小化按钮。
我试过下面的代码,
frame.setUndecorated(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
如果我在 pack() 之前添加此代码,它会进入 infine 循环并出现此异常线程“AWT-EventQueue-0”java.lang.NegativeArraySizeException 中的异常
如果我添加了 createAndShowGUI() 方法的最后一行,它会在线程“AWT-EventQueue-0”java.awt.IllegalComponentStateException 中抛出异常:该框架是可显示的。
我该怎么办?
谢谢。
最佳答案
可以通过调用 setUndecorated(true)
删除标题栏在 Frame
或 JFrame
实例上,即将“未装饰”属性设置为 true
。这会同时删除标题栏和周围的框架。
这是问题所需的代码:
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Already there
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
frame.setUndecorated(true); // <-- the title bar is removed here
在打包的 JFrame
setUndecorated(true)
必须在 pack()
被直接或间接调用之前调用,例如通过 setVisible(true)
.
显然打包后无法去掉标题栏,这是Frame#setDecorated(boolean)
的文档:
A frame may have its native decorations (i.e. Frame and Titlebar) turned off with
setUndecorated
. This can only be done while the frame is not displayable. The method will throw a runtime exception:IllegalComponentStateException
if the frame is displayable.
但是,you can call Window#dispose()
在 Frame
或 JFrame
上,然后再次打包,这会导致 JFrame
内的组件布局被刷新。
关于java - 如何在 JFrame 中删除标题栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8701716/
我是一名优秀的程序员,十分优秀!