【问题标题】:How to align JLabel to the left of the JPanel?如何将 JLabel 对齐到 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

【问题讨论】:

    标签: java swing jlabel layout-manager flowlayout


    【解决方案1】:

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

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

    【讨论】:

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

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

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

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

    label.setHorizontalAlignment(SwingConstants.LEFT);
    

    【讨论】:

    • 这只会对齐标签边框内的文本,而不是标签在面板中的对齐方式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-24
    • 2016-08-31
    • 2020-10-02
    • 1970-01-01
    • 1970-01-01
    • 2017-11-01
    相关资源
    最近更新 更多