Java Swing窗口太高了

时间:2015-03-27 03:48:03

标签: java swing user-interface jframe

我正在使用Java Swing构建一个小应用程序。该应用程序将在几台不同的计算机上使用。我正在使用GridLayout。问题是窗口不可调,因为我这样显示gui:

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

我知道pack()导致了这个问题。该程序在我的计算机上工作正常,但窗口相对较高。在其他一些计算机上,底部被切断,因此用户无法访问某些功能。什么是最好的解决方案?我想到了几种方法,但它们似乎都不是最优的:

  1. 重新排列窗口以便这不是问题。
  2. 添加滚动条。
  3. 不幸的是,我希望保持窗口的结构,因为它看起来不错而且很直观。我已经有一些选择器的滚动条,所以我认为为窗口添加一个滚动条看起来会非常混乱并增加混乱。

    我将不胜感激任何建议。感谢。

3 个答案:

答案 0 :(得分:1)

如果您不想添加滚动条,并且您不想重新排列小部件,那么剩下的唯一选项是

  1. 将项目放在多个窗口上(例如两页)。
  2. 更改项目的缩放比例(缩小它们)
  3. 没有无数种方法。您决定的方法越多越不合适将限制解决关键问题的机会。在您的情况下,您有两种截然不同的屏幕布局,显而易见的解决方案是检测屏幕参数,并选择两种不同布局中的一种,每种布局都看起来很好看。

答案 1 :(得分:1)

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

答案 2 :(得分:0)

我认为这更合适。如果不希望这样,那么添加滚动窗格会更好。缩小控件可能不是那么有用