【问题标题】:Java Swing BorderLayout make one region not resizableJava Swing BorderLayout 使一个区域不可调整大小
【发布时间】:2013-10-02 18:37:07
【问题描述】:

我有一个 Java Swing GUI,其中顶级布局管理器是 BorderLayout。我希望这样当用户将我的 GUI 的大小调整到低于首选大小时,中心区域的大小不能再调整得更小(或者至少在调整大小时优先),并且北/南区域变得更小。

它现在的工作方式是我的北面板和南面板优先并首先吹走我的中心区域。一旦添加了所有组件,我就尝试在中心面板上设置最小尺寸

centerPanel.setMinimumSize(centerPanel.getPreferredSize());

但这对我不起作用。它仍然是第一个在调整大小时最小化的区域。

【问题讨论】:

  • @HovercraftFullOfEels 我觉得我至少需要更改我正在使用的布局管理器。我宁愿不这样做,因为我喜欢现在一切的样子,除了这个问题,它工作得很好。我想我很快就会知道的!
  • 考虑创建并发布sscce,以便我们可以使用代码来更好地体验您的问题,并希望能帮助您找到一个简单的解决方案。跨度>
  • @trashgod:我会删除我的评论。谢谢。

标签: java swing layout-manager border-layout


【解决方案1】:

也许 BoxLayout 会起作用。盒子布局将尊重组件的最小尺寸。有关更多信息,请参阅 How to Use Box Layout 上的 Swing 教程部分。

【讨论】:

    【解决方案2】:

    我认为没有什么比 GridBagLayout 更简单的了。 BorderLayout 在遵守最小尺寸方面并不好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-19
      • 1970-01-01
      • 2012-06-25
      • 1970-01-01
      相关资源
      最近更新 更多