【发布时间】: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 约定。