【问题标题】:Grabbing Excess Space Equally平等地抢占多余空间
【发布时间】:2013-03-29 05:44:13
【问题描述】:

在同一空间内的多个 SWT 控件上使用“抓取多余的水平空间”时,默认行为不会完全平均地划分它们之间的空间。似乎进行了某种幕后计算以将其“某种程度”平均分配,但为较大的控件提供了更高的比率。

在我的示例中,我使用网格布局创建了一个类似表格的自定义控件,用户可以在其中添加任意数量的行,以及为每一行单独添加任意数量的框(自定义画布)。我的意图是让给定行中的所有框都具有相同的大小-因此,具有相同数量框的所有行将具有相同大小的框,尽管它们是分开的。但是,在我的示例中,您可以看到其中包含标签文本的一个框比同一行中的框占用更多空间,因为计算认为它比其他框“需要更多”。

解决这个问题的最佳方法是什么?

【问题讨论】:

  • 你使用的是什么布局?
  • @Funtik 我正在使用 GridLayout,它几乎用于所有事情。我会澄清的。
  • hmmm.. 你显然尝试过从那个布局中使用 makeColumnsEqualWidth?
  • @Funtik 不是很明显,我没有注意到这样的事情。不过,这听起来像是一个潜在的答案,仅凭名字就可以了。
  • OK :) 将其作为答案发布

标签: java layout swt


【解决方案1】:

您可以尝试从GridLayout 使用makeColumnsEqualWidth

【讨论】:

  • 这看起来完全正确。虽然我必须说,因为如此简单,它一点也不明显。我无法通过 Google 搜索找到有关该主题的任何内容,我想我忽略了文档中的变量。非常方便,您只知道这一点!好戏,先生。
  • @SouthpawHare 很高兴这有帮助。有时您可以花费数小时来使 SWT 布局“正确”。
  • API 参考会是一个更好的起点吗?
  • @Baz 也许这听起来很愚蠢,但是......我真的不知道它与网格布局或任何特定类型的布局有什么关系,真的。我只使用网格,不是因为风格,而是因为无知。我只知道它“非常好”。
  • @SouthpawHare 够公平的。这样想:与组件的排列、定位和大小有关的一切都归结为布局。
猜你喜欢
  • 2015-07-09
  • 2015-03-06
  • 2013-11-29
  • 2015-10-31
  • 2018-12-20
  • 2013-02-22
  • 1970-01-01
  • 2018-09-16
  • 2012-01-17
相关资源
最近更新 更多