如何在 JLabel 中设置填充

Posted

技术标签:

【中文标题】如何在 JLabel 中设置填充【英文标题】:How to set padding at JLabel 【发布时间】:2016-01-15 07:53:58 【问题描述】:

我想在 JPanel 中显示多行 JLabel。 所以我有这段代码,但我无法显示多行 JLabel。

public class NotificationFrame extends JFrame
    public NotificationFrame()
        JPanel panelBody = new JPanel();
        panelBody.setBackground(Color.white);
        GridBagConstraints GBC2 = new GridBagConstraints();
        Container CR2 = new Container();
        GridBagLayout GBL2 = new GridBagLayout();
        CR2.setLayout(GBL2);     
        panelBody.add(CR2);

        GBC2 = new GridBagConstraints();
        CR2.add(labelTesto);
        GBC2.gridx=0;
        GBC2.gridy=0;
        GBC2.insets.left = 10;
        GBC2.insets.top=0;
        GBL2.setConstraints(labelTesto,GBC2);
        panelBody.setLayout(new FlowLayout(FlowLayout.CENTER)); 


        add(panelBody,BorderLayout.CENTER);
    

如果我更改了最后一行代码

add(labelTest,BorderLayout.CENTER);

我可以表明我想要。但这是不正确的,因为我想在 JLabel 上设置一个填充

编辑

我现在已经使用了这个代码:

JPanel panelBody = new JPanel();
panelBody.setBackground(Color.white);
SpringLayout layout = new SpringLayout();
panelBody.setLayout(layout);
panelBody.add(labelTesto);
layout.putConstraint(SpringLayout.NORTH, labelTesto, 15, SpringLayout.NORTH, panelBody);
add(panelBody,BorderLayout.CENTER);

这是布局:

这是我应该看到的所有测试: “Il 31 Dicembre scadrà l'assistenza, ricorda di rinnovare l'assistenza per ricevere semper assistantenza ed aggiornamenti。”

【问题讨论】:

为了获得最佳帮助:发布一张您想要的和您正在获得的图片,然后创建并发布minimal reproducible example。 我以前从未在代码中见过new Container()。建议你改成new JPanel() “我想在 JLabel 上设置填充” 在标签上添加 EmptyBorder。但是,如果有比该评论更好的事情的机会,请遵循@HovercraftFullOfEels 的明智建议.. 变量名不应以大写字符开头。发布代码时遵循 Java 约定。 【参考方案1】:

多行它不是填充。要在 JLabel 或 JButton 中实现多行文本,您需要使用 html

要换行(或多行):

btn.setText("<html><p>Il 31 Dicembre scadrà l'assistenza, ricorda di rinnovare l'assistenza per ricevere sempre assistenza ed aggiornamenti</p></html>");
label.setText("<html>Date:<br></html>"+getDateFromSomeWhere);

设置内边距:

    label.setBorder(new EmptyBorder(0,10,0,0));//top,left,bottom,right

【讨论】:

成功了,现在我想给一些带圆角的边框,我们该怎么做 互联网上有很多例子。 This is one of them.

以上是关于如何在 JLabel 中设置填充的主要内容,如果未能解决你的问题,请参考以下文章

在几个JLabel中设置相同的gif作为图标

如何在 PDF 中设置填充 alpha

如何在Android的BottomNavigationView中设置填充项

如何在 mex 结构中设置向量元素

在Xcode中设置图像高度填充自动布局

在 CSS 中设置单元格填充和单元格间距?