我正在开发一个显示图像的应用程序,并从数据库中播放声音.我正在尝试决定是否使用单独的JFrame从GUI向数据库添加图像.
我只是想知道使用多个JFrame窗口是否是一个好习惯?
现在我在做什么在我的计划是,我使用setundecorated = true,并MAXIMIZED_BOTH因此使得它走在全屏幕和显示器看起来非常漂亮,但问题是,有左侧图像(境)和我的屏幕的右侧和也是一个蓝色的背景.发生的变化是,在更改屏幕和分辨率时,这些会受到干扰并且无法正确显示.那些灰色斑块再次出现

我有一个java程序,我想一直打开全屏; 我无法找到正确的方法,因此我将最小值调整为(1370,727)和最大尺寸.因此,它开始在我的笔记本电脑上正常打开,但当我将笔记本电脑的显示器更换为LCD时,它开始出现问题:
它在一个较小的窗口中打开:

如果我然后点击最大化按钮,侧面和底部会出现一个灰色区域(我希望屏幕上的项目能够拉伸或居中):

例如,底部有一个灰色的补丁.相反,我希望背景覆盖整个屏幕.

更新1 如果我更改为可伸缩的gridbaglayout,这是我使用的代码,会发生什么:
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);
Run Code Online (Sandbox Code Playgroud)

题
如何像我对其他人一样将"this"框架设置为setExtendedState(MAXIMIZED_BOTH)?(如果我在main函数中执行此操作,则会出现错误;即使我为此创建函数并在main中调用它,我也会收到错误)
如何根据额外的灰色空间来拉伸/重新排列所有内容?
更新2 此项目中的我的文件:

更新3 这是我正在处理"FormTTS.java"的当前文件 在那里搜索"MAXIMIZED_BOTH",你会发现我想你要检查的代码.
我想改变我将从这里开始创建的所有jframe表单的默认外观,而不必手动编辑我从'Nimbus'到'Windows'创建的每个jframe的每个外观代码.
所以我想要发生的是从我启动Netbeans到创建新Jframe时,我刚刚创建的Jframe的外观和感觉代码将自动设置为"Windows"而不是"Nimbus".
我点击"新建> Jframe表单"后,我希望外观代码看起来像这样:
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Windows".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
}
Run Code Online (Sandbox Code Playgroud)
注意:我不是试图主题Netbeans本身,我只是希望我创建的Jframe默认情况下具有窗口的外观和感觉所以我不必通过源选项卡并将Nimbus更改为Windows我为每个创建的Jframe创建.