【问题标题】:Using frame.pack() when some components are invisible?当某些组件不可见时使用 frame.pack()?
【发布时间】:2011-12-10 06:25:10
【问题描述】:

我正在尝试创建一个简单的边框布局模板,并且我正在使用 frame.pack() 来确定框架大小。我在中心区域有一个不可见的标签,pack 方法似乎没有考虑标签,所以它没有显示。我知道它最初确实有效,因为框架最初是适合其他组件的尺寸。 那么我怎样才能让框架考虑到不可见的标签呢? The label is only visible when the button in the centre region is selected. 一切正常,除了您必须手动增加框架大小才能看到标签。

【问题讨论】:

  • 请发布显示您的问题的 SSCCE。

标签: swing label frame invisible pack


【解决方案1】:

我认为这取决于包含标签的容器的布局管理器。一些布局管理器仅根据可见组件计算首选大小,而其他布局管理器则考虑不可见组件。例如,GroupLayout 有 setHonorsVisibility 方法。

无论如何,最简单的方法可能是在调用pack 之后 使标签不可见。

另见SetVisible(false) changes the layout of my components within my Panel

【讨论】:

  • 我正在使用边框布局管理器,我确实尝试在标签不可见之前调用 pack,但我正在使用 frame.pack(),我猜它正在设置返回的大小JPanel 到框架。所以我不确定将 frame.pack() 放在哪里。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-21
  • 2022-12-02
  • 2013-09-13
相关资源
最近更新 更多