2012-04-29 178 views
3

我在Mac上制作了一个使用多个JFrames的程序,分辨率还可以,一切正常。但是当我在PC上运行该程序时,JFrames太大而无法正常工作。Java:JFrame分辨率?

我的问题是:是否有可能在JFrame上设置通用分辨率,以便所有组件都缩小一点?我宁愿这样做,然后通过整个程序并手动调整每个组件的大小。

+0

*“我使用多个JFrames制作了一个程序..“*参见[使用多个JFrames,好/坏实践?](http://stackoverflow.com/a/9554657/418556) *”是否可以在JFrame上设置通用分辨率,以便所有组件“*我希望不是!在我的屏幕上有一个文本'太小'(阅读'比标准更小'')的GUI对我来说是没用的。使用布局来制作一个紧凑的'CardLayout')和可调整大小的图形用户界面(GUI)。如果所有其他的都失败了,把内容窗格放到一个滚动窗格中(但是这种情况必须是非常可怕的证明) –

回答

5

我用几个JFrames

作出了程序

错误使用CardLayout代替,只要有真正的原因使用的JDialog或JOptionPane的与父母(JDialog的)可能与setModal(真),以单一的JFrame

但是,当我在我的电脑上运行程序的JFrames实在是太庞大而向右走关闭屏幕

是否有可能在JFrame上设置通用分辨率,以便所有组件都缩小一点?

使用适当的布局管理,确保不容易的事,需要真正的努力

我宁可这样做,那么完成整个程序,并手动调整每一个部件。

使用适当的布局管理,

  • 为更好地帮助越早与SSCCE编辑您的问题表现出不同的屏幕尺寸您的问题中间人的PC或平台
+0

谢谢! JFrames',但我的意思是整个程序涉及多个程序,但它们并不都是一次出现:PI使用绝对布局,所以我会绕过已经推荐的布局,看看我可以做,以解决我的问题。 – Blackvein

+0

欢迎您 – mKorbel

4

据我所知,你不能改变Swing组件的分辨率。但是你可以从系统中获得当前的屏幕尺寸(here就是一个例子)。有了这个屏幕大小,你可以调整你的组件。

如果您明智地为您的GUI编码,则不必手动调整GUI的所有组件。相反,顶层的JPanel(或JFrame或之前的)会因其包含的组件(例如pack())而调整其大小。所以只有少数组件会有硬编码的大小。这个大小也可以外化到一个易于编辑的类或文件中。

0

我曾遇到喜欢你的和有问题我用JScrollbar解决了它! Here是如何使您的JFrame可滚动。