繁体   English   中英

更改按钮文本而不更改按钮大小

[英]Change button text without changing button size

我正在使用borderLayout将组件排列在JFrame和Box(BoxLayout.X_AXIS)中,以将按钮彼此相邻放置。 但这会带来两个问题:

  1. 我希望按钮具有相同的大小,但是会自动调整它们的大小以适合其中的文本(尤其是当我在运行时更改按钮内的文本时,这很烦人)

  2. 我希望按钮之间有一点间距(假设10像素)

使用borderLayout是否可以做到这一点,还是需要将setLayout设置为null? 如果是这样,这不会破坏按钮在框架中的原始位置吗? 还是仍将由borderLayout放置的Box处理?

几点建议

  1. 尝试将preferredSize设置为合适的Dimension
  2. 如果这样不起作用,请尝试同时将maximumSizeminimumSize设置为相同的Dimension值
  3. 如果仍然不起作用,请将按钮的布局管理器更改为GridBagLayout 该布局管理器的优点在于,它可以让您详细控制布局的行为。 缺点是您通常需要在GridBagLayout上配置大量属性才能获得所需的行为。 我建议您先阅读GridBagLayout教程,因为它是相当复杂的野兽。

如果您希望它们具有相同的大小,则只需将按钮添加到GridLayout中,它们的大小将自动调整为最大的文本字符串。 您还可以指定组件之间的间隙。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM