在Windows中将窗口及其内容调整为屏幕大小

时间:2014-10-20 14:53:31

标签: java jframe jpanel screen

我设计了一个java程序,在其主文件中打开一个JFrame,然后打开不同的面板。我发现使用具有不同屏幕尺寸的不同机器的程序可能是某些面板被剪切"而且,例如我在面板上松了一些底部。 什么是更好的设计解决方案来解决这个问题?

提前感谢谁可以提供帮助。

2 个答案:

答案 0 :(得分:0)

我不知道这听起来好像是一个更好的'解决方案(顺便说一句。比什么更好?),但像DreadHeadedDeveloper已经说过你可以使用工具包。

此外,您可以将所有内容放在一个面板上,并将该面板放在滚动窗格上,如果屏幕太小,则会放置滚动条。

我不知道你是否可以制作最终尺寸,或者你是否希望能够调整尺寸(这通常比它的价值更麻烦)。

什么:"然后打开不同的面板"意思? 这些面板是否应该彼此相邻,还是重叠?它们会改变框架的大小吗?

答案 1 :(得分:0)

坦率地说,使用QT或JavaFX之类的东西,可能是Grails或其他任何东西,但真的是摇摆不定,但这是重点。

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

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);
}

布局管理员的缺点是他们可以稍微压缩你的组件。我真诚地希望这至少能帮助你找到答案!