【问题标题】:Can't vertical center align text inside a JLabel无法在 JLabel 中垂直居中对齐文本
【发布时间】:2014-07-01 23:22:38
【问题描述】:

numBox 是一个正方形 JLabel,就像游戏 2048 中的那样。数字所在的文本不会垂直居中。

都没有

numBox.setVerticalAlignment(JLabel.CENTER);

也没有

numBox.setVerticalTextPosition(JLabel.CENTER);

正在工作。

文本水平居中显示,但位于标签所在框的顶部。 如何让文本显示在 JLabel 的中间?

【问题讨论】:

  • JLabel 默认情况下是垂直居中的,然后我会假设这是您的布局问题
  • 为了尽快获得更好的帮助,请发布MCVE(最小完整且可验证的示例)。顺便说一句 - 在标签上添加一个彩色边框以查看它有多大,@MadProgrammer 很可能是正确的,为什么你没有看到变化。
  • 这是将标签添加到具有默认 FlowLayout 的面板的确切行为。尝试不同的布局管理器。我不会建议哪一个,因为您没有提供足够的上下文来提出好的建议
  • 如有疑问,请为所有内容添加不同颜色的线条边框,以获得布局的视觉帮助。

标签: java swing jlabel text-alignment


【解决方案1】:

您可以通过以下方式向布局管理器提供对齐建议:

label.setAlignmentY(JLabel.CENTER_ALIGNMENT);

如果这没有帮助,请发布正确的 SSCCE 来证明问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-06
    • 2013-05-25
    • 2020-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-17
    • 2013-02-13
    相关资源
    最近更新 更多