如何将 JLabel 对齐到 JPanel 的左侧?

Posted

技术标签:

【中文标题】如何将 JLabel 对齐到 JPanel 的左侧?【英文标题】:How to align JLabel to the left of the JPanel? 【发布时间】:2013-07-04 21:25:50 【问题描述】:

我想将我的 JLabel 向左对齐。

    String lText = "<html><b><font color = white face = comic sans ms size = 20>mybook</font></b></html>";
    JLabel label = new JLabel(lText);
    label.setBorder(new EmptyBorder(25,0,25,500));

我尝试使用 EmptyBorder 进行此操作,但未正确对齐。我正在使用 FlowLayout

【问题讨论】:

【参考方案1】:

FlowLayout 默认使用CENTER 对齐方式。尝试为您的JLabel JPanel 容器使用LEFT 对齐

myJPanel.setLayout(new FlowLayout(FlowLayout.LEFT));

【讨论】:

这会将整个面板向左对齐。我只想把我的标签放在左边。 @ArchitVerma : Put the JLabelJPanel 上,按照答案中的建议,并保持这个新的JPanel 代替你的JLabel 的当前位置:-) 不会这样做? 即如果使用FlowLayout,则需要使用嵌套容器【参考方案2】:

您可能希望设置 JLabel 的水平对齐属性。一种方法是通过它的构造函数。试试:

JLabel label = new JLabel(lText, SwingConstants.LEFT);

这也可以通过预期的 setter 方法来完成:

label.setHorizontalAlignment(SwingConstants.LEFT);

【讨论】:

这只会对齐标签边框内的文本,而不是标签在面板中的对齐方式。

以上是关于如何将 JLabel 对齐到 JPanel 的左侧?的主要内容,如果未能解决你的问题,请参考以下文章

将 JLabel 中的文本右对齐

将 jLabel 移动到 jPanel 中的不同位置(类似 Pacman 的游戏)

如何在已动态添加的JLabel的JPanel中getLocation()?

如何将每个 JPanel 向左或向右对齐到主 JPanel

Java 中的组件如何能够对齐呢?

java中将Label添加到GridLayout类型的JPanel里,label太靠左怎么往右调整到居中?如图