【问题标题】:Text Not Aligning To the Center of JLabel in JavaJava中的文本未与JLabel的中心对齐
【发布时间】:2015-10-15 10:10:51
【问题描述】:

我的面板底部有一个 JLabel,它向用户提供文本说明。一些文本因为太长而从屏幕上消失了。为了解决这个问题,我添加了标签。但是,现在文本不再居中,而是向左对齐。为什么会出现这种情况。这段代码不应该使文本居中吗?

detailedInstructions.setText("<html><div align=center>" + test.getMicroSteps()[currMicroStep].getDescription() + "</div><html>");

【问题讨论】:

    标签: java html swing jlabel center-align


    【解决方案1】:

    不使用 HTML 代码,只需调用

    detailedInstructions.setHorizontalAlignment(SwingConstants.CENTER);
    

    或者使用设置水平对齐的 JLabel 构造函数。

    请注意,如果 JLabel 显示一个 ImageIcon,那么您还需要设置它的水平文本位置,以确定标签文本相对于其图像的位置。

    其他潜在问题是 JLabel 本身可能不在 GUI 底部居中。要对此进行测试,请在标签周围设置边框以查看其实际位置,如果是,则需要使用标签容器的布局管理器的设置。

    【讨论】:

    • 这会解决我的文本太长的问题吗?我现在可以将文本居中,但是没有 标签,我无法将所有文本都放在屏幕上。
    • @drake:要完全回答这个问题,您需要创建并发布一个最小的示例程序或 mcve。需要考虑的选项包括更改 JLabel 的字体或不使用 JLabel 而是使用 JTextArea,该 JTextArea 已被欺骗为不可编辑且看起来像 JLabel。
    • 我最终使用了您提到的方法并将 标记移到了 getDescription() 方法中。
    猜你喜欢
    • 2020-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-02
    • 1970-01-01
    • 1970-01-01
    • 2012-09-17
    • 2012-01-29
    相关资源
    最近更新 更多