3

我在 Mac 上使用几个 JFrame 制作了一个程序,分辨率还可以,一切都适合屏幕。但是当我在我的 PC 上运行该程序时,JFrames 太大了并且直接离开了屏幕。

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

4

3 回答 3

5

我使用几个 JFrame 制作了一个程序

错误地使用 CardLayout 代替,只有当有真正的理由使用 JDialog 或 JOptionPane 与父和 (JDialog) 可能与 setModal(true) 到单个 JFrame

但是当我在我的 PC 上运行程序时,JFrames 太大了,直接从屏幕上消失了

是否可以在 JFrame 上设置通用分辨率,以便将所有组件绘制得更小一些?

使用正确的 LayoutManager,肯定不容易,需要真正的努力

我宁愿这样做,然后遍历整个程序并手动调整每个组件的大小。

使用适当的 LayoutManager,

  • 为了获得更好的帮助,请尽快使用SSCCE编辑您的问题,展示您在 PC 或平台之间的不同屏幕尺寸的问题
于 2012-04-29T22:10:37.250 回答
4

据我所知,您无法更改 Swing 组件的分辨率。但是您可以从系统中获取当前的屏幕尺寸(这里是一个示例)。使用此屏幕尺寸,您可以调整组件。

如果您明智地编写 GUI,则不必手动调整 GUI 的所有组件的大小。相反,顶级 JPanel(或 JFrame 或其他任何东西)将根据其包含的组件(例如,使用类似 pack() 的东西)调整其大小。因此,只有少数组件具有硬编码大小。这个大小也可以外化为易于编辑的类或文件。

于 2012-04-29T21:59:47.177 回答
0

我遇到了像你这样的问题,我用 JScrollbar 解决了它! 是使您的 JFrame 可滚动的方法。

于 2013-06-30T23:43:26.783 回答