Java 秋千 Window 太高了

Java Swing Window is Too Tall

我正在使用 Java Swing 构建一个小型应用程序。该应用程序将在多台不同的计算机上使用。我正在使用网格布局。问题是 window 不可调整,因为我这样显示 gui:

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    addComponentsToPane(getContentPane());
    pack();
    setVisible(true);

我知道是 pack() 造成的。该程序在我的计算机上运行良好,但 window 相对较高。在其他一些计算机上,底部被切断,因此用户无法访问某些功能。最好的解决方案是什么?我想到了几种方法,但其中 none 似乎是最优的:

  1. 重新排列 window 以便这不是问题。
  2. 添加滚动条。

不幸的是,我想保持 window 结构不变,因为它看起来不错并且直观。我已经为某些选择器设置了滚动条,因此我认为为 window 添加滚动条会显得非常混乱并增加混乱。

如果有任何建议,我将不胜感激。谢谢

如果您不想添加滚动条,也不想重新排列小部件,那么剩下的选项只有

  1. 将项目放在多个 window 上(例如两页)。
  2. 更改项目的缩放比例(缩小)

没有无限多的方法。您认为不合适的方法越多,解决关键问题的机会就越少。在你的情况下,你有两个截然不同的屏幕布局,显而易见的解决方案是检测屏幕参数,select 两种不同布局之一,每个布局都适合看起来不错。

window 中的控件过多会很无聊。那么,为什么不使用 JTabbedPane 对控件进行分类并将它们添加到不同的选项卡中呢?

我觉得这样比较合适。如果不需要,那么添加滚动窗格会更好。好吧,缩小控件可能没那么有用