【问题标题】:Make 2 JButtons Equal in size使 2 个 JButton 大小相等
【发布时间】:2011-11-15 21:18:58
【问题描述】:

我有两个JButtons,带有文本“Ok”和“Cancel”。我正在使用GridBagLayout 将它们与JDialog 对齐。我已将锚点设置为GridBagConstraints.CENTER。由于文本“Ok”和“Cancel”的字符数不同,因此按钮大小不同。如何正确对齐它们,以使它们中的每一个都具有相同的大小。我尝试了以下但无济于事。

okayButton.setSize(cancelButton.getSize());

【问题讨论】:

  • 只是为了强调:调整组件大小/定位组件是 LayoutManager 的工作(您已经使用过,很好!) - 应用程序代码中的 setSize 已经(并且应该并且必须有:-) 没有效果

标签: java swing jbutton layout-manager gridbaglayout


【解决方案1】:

而不是okayButton.setSize(cancelButton.getSize()); 使用okayButton.setPreferredSize(cancelButton.getPreferredSize());

【讨论】:

  • -1 no ... 永远不要在应用程序代码中使用 setXXSize(出于某些原因,请参阅 stackoverflow.com/questions/7229226/…),而是使用像样的 LayoutManager
  • 顺便问一下,我应该删除那些可能误导人们的答案吗?
【解决方案2】:

GridBaglayout 得到GridBagConstraints 并且在所有情况下都接受PreferredSize

herehere 示例

【讨论】:

    【解决方案3】:

    尝试将填充设置为GridBagConstraints.BOTH 并赋予两个按钮相同的权重。

    【讨论】:

      猜你喜欢
      • 2017-06-10
      • 2017-11-15
      • 1970-01-01
      • 1970-01-01
      • 2021-08-21
      • 1970-01-01
      • 1970-01-01
      • 2014-11-14
      • 2010-11-15
      相关资源
      最近更新 更多