2014-10-20 52 views
0

我设计了一个java程序,在其主文件中打开一个JFrame,然后打开不同的面板。我发现使用具有不同屏幕尺寸的不同机器的程序可以是某些面板被“切割”,并且例如我在面板中松开了一些底部。 解决此问题的更好的设计解决方案是什么?在Windows中调整窗口及其内容到屏幕大小

在此先感谢谁可以提供帮助。

+0

也许工具包?我使用它来获得屏幕的确切大小,并确保我的程序都不需要从getgo调整大小。看看这里。 http://docs.oracle.com/javase/7/docs/api/java/awt/Toolkit.html这是一个非常好的工具,用于Java的多平台方面 – DreadHeadedDeveloper 2014-10-20 14:55:18

回答

0

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

另外,如果屏幕太小,您可以将所有内容放在一个面板上,并将该面板放到滚动条上,滚动条放在滚动条上。

我不知道你是否可以做出最终尺寸,或者如果你想调整它的大小(这通常比它的价值更麻烦)。

问题:“不同的面板在哪里打开”是什么意思? 这些面板应该彼此相邻还是重叠?他们是否改变你的框架的大小?

0

坦率地说,使用QT或类似JavaFX,也许Grails或其他东西,但真正的摇摆,但这是除了点。

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

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); 
double width = screenSize.getWidth(); 
double height = screenSize.getHeight(); 

你可以得到你的屏幕尺寸,然后你可以给子面板基于百分比的尺寸。假设screenheight是800,如果您希望通过面板的构造函数将父高度的40%作为子面板的高度,则可以传递800 * 0.40。 喜欢的东西MyPanel扩展面板

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

布局管理的缺点是,它们可以在一定程度压扁你的组件。我真心希望这至少能帮助你找到答案!

相关问题