我在 Mac 上使用几个 JFrame 制作了一个程序,分辨率还可以,一切都适合屏幕。但是当我在我的 PC 上运行该程序时,JFrames 太大了并且直接离开了屏幕。
我的问题是:是否可以在 JFrame 上设置通用分辨率,以便将所有组件绘制得更小一点?我宁愿这样做,然后遍历整个程序并手动调整每个组件的大小。
我在 Mac 上使用几个 JFrame 制作了一个程序,分辨率还可以,一切都适合屏幕。但是当我在我的 PC 上运行该程序时,JFrames 太大了并且直接离开了屏幕。
我的问题是:是否可以在 JFrame 上设置通用分辨率,以便将所有组件绘制得更小一点?我宁愿这样做,然后遍历整个程序并手动调整每个组件的大小。
我使用几个 JFrame 制作了一个程序
错误地使用 CardLayout 代替,只有当有真正的理由使用 JDialog 或 JOptionPane 与父和 (JDialog) 可能与 setModal(true) 到单个 JFrame
但是当我在我的 PC 上运行程序时,JFrames 太大了,直接从屏幕上消失了
你在使用 AbsoluteLayout
你的电脑是不是特定的
每个本机操作系统返回不同的(例如,您无法在屏幕上找到两个具有相同像素比率的容器) JComponents 的字体和默认大小
是否可以在 JFrame 上设置通用分辨率,以便将所有组件绘制得更小一些?
使用正确的 LayoutManager,肯定不容易,需要真正的努力
我宁愿这样做,然后遍历整个程序并手动调整每个组件的大小。
使用适当的 LayoutManager,
据我所知,您无法更改 Swing 组件的分辨率。但是您可以从系统中获取当前的屏幕尺寸(这里是一个示例)。使用此屏幕尺寸,您可以调整组件。
如果您明智地编写 GUI,则不必手动调整 GUI 的所有组件的大小。相反,顶级 JPanel(或 JFrame 或其他任何东西)将根据其包含的组件(例如,使用类似 pack() 的东西)调整其大小。因此,只有少数组件具有硬编码大小。这个大小也可以外化为易于编辑的类或文件。
我遇到了像你这样的问题,我用 JScrollbar 解决了它! 这是使您的 JFrame 可滚动的方法。