现在我程序中正在使用
历史:
我有一个Java程序,我希望在全屏状态下始终打开;我无法找到合适的方法,因此我调整了最小值为(1370, 727)以及最大尺寸。因此,在我的笔记本电脑上开始正常打开,但当我将笔记本电脑的显示器更改为LCD时,它开始出现问题:
它以较小的窗口打开:
如果我然后点击最大化按钮,会在侧面和底部出现灰色区域(我希望屏幕上的项目被拉伸或居中):
例如,这里底部有一个灰色补丁。相反,我希望背景覆盖整个屏幕。
更新1
如果我改为可拉伸的网格包布局,则使用的代码及其发生的情况如下:
setundecorated = true
和MAXIMIZED_BOTH
让它全屏,并且显示效果很好,但问题是屏幕左右两侧有图像边框和蓝色背景。在切换屏幕和分辨率时,这些会受到干扰并且不能正确显示,灰色斑块会再次出现。历史:
我有一个Java程序,我希望在全屏状态下始终打开;我无法找到合适的方法,因此我调整了最小值为(1370, 727)以及最大尺寸。因此,在我的笔记本电脑上开始正常打开,但当我将笔记本电脑的显示器更改为LCD时,它开始出现问题:
它以较小的窗口打开:
![Login Window](https://istack.dev59.com/DjxDj.webp)
![enter image description here](https://istack.dev59.com/fqgRf.webp)
Menu.setExtendedState(MAXIMIZED_BOTH);
GridBagLayout gbl = new GridBagLayout();
Menu.setLayout(gbl);
JButton component = new JButton("1");
gbl.layoutContainer(Menu);
GridBagConstraints gbc = new GridBagConstraints();
gbc.fill = GridBagConstraints.NONE;
gbl.setConstraints(component, gbc);
Menu.add(component);
Menu.pack();
Menu.setVisible(true);
问题
如何将“this”帧设置为setExtendedState(MAXIMIZED_BOTH),就像我对其他帧所做的那样?(如果我在主函数中这样做,就会出现错误;即使我为此编写一个函数并在主函数中调用它,我也会遇到错误)
如何让所有内容根据额外的灰色空间自动拉伸/重新排列?
更新2 我在该项目中的文件:
更新3 我正在处理的当前文件"FormTTS.java" 在其中搜索“MAXIMIZED_BOTH”,您将找到我认为您想要检查的代码。
frame.setUndecorated(true)
将会移除顶部框架边框(标题所在的位置)和侧边框,将其余空间填充为面板内的任何内容(如果您的面板意图填满屏幕)。 - Dioxin