怎么设置JLabel内容对齐方式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么设置JLabel内容对齐方式相关的知识,希望对你有一定的参考价值。

<strong>RT</strong>

JLabel可以通过这种方式设置内容对齐方式:JLabel jl=new JLabel("12345",JLabel.LEFT);
其中JLabel.LEFT可以换成JLabel.RIGHT或者JLabel.CENTER
参考技术A 在创建JLabel对象的时候可以指定标签中内容的对齐方式。
JLabel(String text, int horizontalAlignment)
在SwingConstants 中定义对齐方式的常量 LEFT、CENTER、RIGHT、LEADING 或 TRAILING
JLabel中还有两个方法也可以调整对齐方式
1、setHorizontalAlignment(int alignment)
设置标签内容沿 X 轴的对齐方式。也就是调整文字的水平对齐方式
2、setVerticalAlignment(int alignment)
设置标签内容沿 Y 轴的对齐方式。调整文字的竖直(上下的)对齐方式
参考技术B 同意楼上的

将 JLabel 中的文本右对齐

【中文标题】将 JLabel 中的文本右对齐【英文标题】:Align text in JLabel to the right 【发布时间】:2012-09-17 08:33:47 【问题描述】:

我有一个 JPanel,其中一些 JLabel 添加了 JPanel 的 add() 方法。我想将 JLabel 向右对齐,如下图所示,但我不知道该怎么做。任何想法?谢谢!

【问题讨论】:

你想让标签的文本水平对齐吗? 【参考方案1】:

这可以通过两种方式完成。

JLabel 水平对齐

您可以使用JLabelconstructor:

JLabel(String text, int horizontalAlignment) 

向右对齐:

JLabel label = new JLabel("Telephone", SwingConstants.RIGHT);

JLabel也有setHorizontalAlignment

label.setHorizontalAlignment(SwingConstants.RIGHT);

这假设组件占据了容器的整个宽度。

使用布局

另一种方法是使用布局将组件实际对齐到右侧,同时确保它们不会占据整个宽度。这是BoxLayout 的示例:

    Box box = Box.createVerticalBox();
    JLabel label1 = new JLabel("test1, the beginning");
    label1.setAlignmentX(Component.RIGHT_ALIGNMENT);
    box.add(label1);

    JLabel label2 = new JLabel("test2, some more");
    label2.setAlignmentX(Component.RIGHT_ALIGNMENT);
    box.add(label2);

    JLabel label3 = new JLabel("test3");
    label3.setAlignmentX(Component.RIGHT_ALIGNMENT);
    box.add(label3);


    add(box);

【讨论】:

【参考方案2】:
JLabel label = new JLabel("fax", SwingConstants.RIGHT);

【讨论】:

【参考方案3】:

对我来说, 似乎您的实际意图是将不同的单词放在不同的行上。 但是让我回答你的第一个问题:

JLabel lab=new JLabel("text");
lab.setHorizontalAlignment(SwingConstants.LEFT);     

如果你有图片:

JLabel lab=new Jlabel("text");
lab.setIcon(new ImageIcon("path//img.png"));
lab.setHorizontalTextPosition(SwingConstants.LEFT);

但是,我相信你想让标签在 1 行上只有 2 个单词。

在这种情况下试试这个:

String urText="<html>You can<br>use basic HTML<br>in Swing<br> components," 
   +"Hope<br> I helped!";
JLabel lac=new JLabel(urText);
lac.setAlignmentX(Component.RIGHT_ALIGNMENT);

【讨论】:

以上是关于怎么设置JLabel内容对齐方式的主要内容,如果未能解决你的问题,请参考以下文章

java中TextArea/JTextArea的对齐方式怎么设置的?

html中怎么将标签左对齐,而文本框右对齐的方法

excel中表格文字水平居中及垂直对齐方式居中怎么设置?选项具体在哪里?如下图:

html 怎么设置table内的字体 颜色 大小 对齐方式!!!!!!!!!!!!!!!!!!!

怎样设置文字右对齐 css

将 JLabel 中的文本右对齐