在java中使windows及其内容适应屏幕大小

在java中使windows及其内容适应屏幕大小,java,jframe,jpanel,screen,Java,Jframe,Jpanel,Screen,我设计了一个java程序,它在主文件中打开一个JFrame,然后在其中打开不同的面板。我发现使用不同屏幕大小的不同机器的程序可能会导致一些面板被切割,例如,我在面板上松开了一些底部。 解决这个问题最好的设计方案是什么 提前感谢能提供帮助的人。我不知道这听起来是否是一个“更好”的解决方案。顺便说一句,比什么好?但就像可怕的开发者已经说过的那样,你可以使用工具包 此外,如果屏幕太小,您可以将所有内容放在一个面板上,然后将该面板放在滚动窗格上,滚动窗格会显示滚动条 我不知道你是否可以做一个最终的尺寸,

我设计了一个java程序,它在主文件中打开一个JFrame,然后在其中打开不同的面板。我发现使用不同屏幕大小的不同机器的程序可能会导致一些面板被切割,例如,我在面板上松开了一些底部。 解决这个问题最好的设计方案是什么


提前感谢能提供帮助的人。

我不知道这听起来是否是一个“更好”的解决方案。顺便说一句,比什么好?但就像可怕的开发者已经说过的那样,你可以使用工具包

此外,如果屏幕太小,您可以将所有内容放在一个面板上,然后将该面板放在滚动窗格上,滚动窗格会显示滚动条

我不知道你是否可以做一个最终的尺寸,或者你是否想调整它的大小,这往往比它的价值更麻烦

什么意思:打开不同的面板意味着什么?
这些面板应该相邻,还是重叠?它们会改变你的帧的大小吗?

坦率地说,使用QT或类似JavaFX的东西,可能是Grails或其他东西,但实际上不是swing,但这不是重点

无论如何,为此,您可以使用LayoutManager为您重新定位元素。通过使用:

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
double width = screenSize.getWidth();
double height = screenSize.getHeight();
你可以得到你的屏幕大小,然后你可以给出子面板的百分比大小。假设屏幕高度为800,如果希望通过面板的构造函数将父面板高度的40%作为子面板的高度,则可以通过800*0.40。 类似MyPanel的东西扩展了Panel

public MyPanel(int width, int height){
  this.setSize(width,height);
}

LayoutManager的缺点是,他们可能会在某种程度上挤压您的组件。我真诚地希望这至少能帮助你找到答案

也许是工具箱?我使用它来获得屏幕的精确大小,并确保我的程序不需要从getgo调整大小。看看这里。对于Java的多平台方面来说,它是一个非常好的工具