一次仅显示一个JLabel(Java Swing)
我创建了一个JLabel作为标题,并对其进行了定制,显示时没有问题。当我试图创建第二个JLabel时,问题出现了,因为只有第二个JLabel会显示。当我创建第三个时,只会显示第一个和第二个,而不会显示第一个和第二个 基本上,只显示最新的JLabel。如何同时显示多个JLabel 这是我的密码一次仅显示一个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
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个位置中的任何一个位置显示单个组件(默认位置为中间位置),尝试更改布局,首先查看您可能想要阅读的内容。