2015-07-28 34 views
-1

我的问题很简单...我有一个JPanel,里面有很多JComponents,我希望不管屏幕尺寸如何,面板都可以,所以可以在不同的显示器上看到它。我添加了滚动条来绕过这个问题,但这还不够。 阅读关于stackoverflow.com和布局管理器教程的一些提示,我发现了GridBagLayout的weightx \ weighty功能,并且我想以这种方式解决我的问题。但还有更多要发现的东西。我的JComponents具有字体大小,边框大小,hgap和一些jpanels的vgap,我希望即使这些常量与屏幕大小无关。我怎样才能达到这个目标?先谢谢你。如何在java中根据屏幕分辨率 size调整我的JComponents?

+0

*“我的问题很简单......” * DYM“简单的像*‘什么是生命的意义?’*?有很多问题很容易定义,很容易问,但却不是那么简单的答案(如果他们有任何答案的话)。这是其中的一种情况。将GUI的字体和组件缩放到用户所需的内容是非常简单的。看到[这个答案](http://stackoverflow.com/a/21066065/418556)的问题开始。它旨在将计算器按钮的字体大小缩放到它们将支持的最大大小。 –

回答

0

这会让你的屏幕大小。您可以使用dim.widthdim.height作为您的所有元素大小的比例。

Toolkit toolkit = Toolkit.getDefaultToolkit(); 
Dimension dim = toolkit.getScreenSize(); 
myFrame.setSize(dim.width,dim.height); 

的进口java.awt.Toolkitjava.awt.Dimension

+0

['Frame.setExtendedState(Frame.MAXIMIZED_BOTH)'](http://docs.oracle.com/javase/8/docs/api/java/awt/Frame.html#setExtendedState-int-)更容易和更多可靠的(因为它占了任务栏)的方式来实现代码的功能。但是,使父容器尽可能大是与问题无关的,这就是让GUI组件可以扩展到用户分配给应用程序窗口的任何大小。 –