一次仅显示一个JLabel(Java Swing)

一次仅显示一个JLabel(Java Swing),java,swing,jlabel,layout-manager,border-layout,Java,Swing,Jlabel,Layout Manager,Border Layout,我创建了一个JLabel作为标题,并对其进行了定制,显示时没有问题。当我试图创建第二个JLabel时,问题出现了,因为只有第二个JLabel会显示。当我创建第三个时,只会显示第一个和第二个,而不会显示第一个和第二个 基本上,只显示最新的JLabel。如何同时显示多个JLabel 这是我的密码 public class MainForm extends JFrame { EmployeeDAO dao = new EmployeeDAO(); private static JLabel labe

我创建了一个JLabel作为标题,并对其进行了定制,显示时没有问题。当我试图创建第二个JLabel时,问题出现了,因为只有第二个JLabel会显示。当我创建第三个时,只会显示第一个和第二个,而不会显示第一个和第二个

基本上,只显示最新的JLabel。如何同时显示多个JLabel

这是我的密码

public class MainForm extends JFrame {

EmployeeDAO dao = new EmployeeDAO();
private static JLabel label, name;


MainForm()
{
    super("Employee Database");
    GUI();  
}

private void GUI()
{
    JLabel label = new JLabel("Enter Employee Information");
    label.setVerticalAlignment(JLabel.TOP);
    label.setHorizontalAlignment(JLabel.CENTER);
    label.setFont(new Font("Serif", Font.PLAIN, 20));
    label.setForeground(Color.red);
    add(label);

    JLabel name = new JLabel("Name: ");
    add(name);
    }
}

通常,当您想要向容器添加多个组件时(就像您在JFrame中处理JLabel一样),您必须决定要使用哪个布局管理器,以便将组件显示在您想要的位置


您可能应该看一看与相关的教程。

您需要选择一个,并相应地调用
setLayout

为要添加到场景中的每个元素使用
.setBounds
,或者使用其他布局(如网格布局)来定位UI元素。问题源于当您添加新元素时,新元素位于上一个元素之上。

JFrame
默认情况下使用
BorderLayout
,它只在可用的5个位置中的任何一个位置显示单个组件(默认位置为中间位置),尝试更改布局,首先查看您可能想要阅读的内容。