Java JLabel方向导致错误

Java JLabel方向导致错误,java,swing,jframe,jlabel,Java,Swing,Jframe,Jlabel,我不熟悉Java Swing。我创建了一个简单的JFrame,如下代码所示,但是当行statusLabel=newjlabel(“statusLabel”,JLabel.WEST)时是否在运行时收到下面发布的错误,当我注释该行时,JFrame出现 请让我知道为什么此行statusLabel=new JLabel(“statusLabel”,JLabel.WEST)导致错误 public GUI() { // TODO Auto-generated constructor stub

我不熟悉Java Swing。我创建了一个简单的JFrame,如下代码所示,但是当行
statusLabel=newjlabel(“statusLabel”,JLabel.WEST)时是否在运行时收到下面发布的错误,当我注释该行时,JFrame出现


请让我知道为什么此行
statusLabel=new JLabel(“statusLabel”,JLabel.WEST)导致错误

public GUI() {
    // TODO Auto-generated constructor stub
    prepareGUI();
}
private void prepareGUI() {
    // TODO Auto-generated method stub
    mainFrame = new JFrame("Swing Example");
    mainFrame.setSize(400, 400);

    headerLabel = new JLabel("headerLabel", JLabel.CENTER);
    statusLabel = new JLabel("statusLabel", JLabel.WEST);//this line when it is exist, causes errors

    mainFrame.add(headerLabel);
    mainFrame.add(statusLabel);
    mainFrame.setVisible(true);
}

public static void main(String[] args) {
    GUI gui = new GUI();
}
错误

Exception in thread "main" java.lang.IllegalArgumentException: horizontalAlignment
at javax.swing.JLabel.checkHorizontalKey(Unknown Source)
at javax.swing.JLabel.setHorizontalAlignment(Unknown Source)
at javax.swing.JLabel.<init>(Unknown Source)
at javax.swing.JLabel.<init>(Unknown Source)
at test.GUI.prepareGUI(GUI.java:23)
at test.GUI.<init>(GUI.java:15)
at test.GUI.main(GUI.java:31)
线程“main”java.lang.IllegalArgumentException中的异常:horizontalAlignment 位于javax.swing.JLabel.checkHorizontalKey(未知源) 位于javax.swing.JLabel.setHorizontalAlignment(未知源) javax.swing.JLabel。(未知源) javax.swing.JLabel。(未知源) 在test.GUI.prepareGUI(GUI.java:23) at test.GUI.(GUI.java:15) 位于test.GUI.main(GUI.java:31)
更新

Exception in thread "main" java.lang.IllegalArgumentException: horizontalAlignment
at javax.swing.JLabel.checkHorizontalKey(Unknown Source)
at javax.swing.JLabel.setHorizontalAlignment(Unknown Source)
at javax.swing.JLabel.<init>(Unknown Source)
at javax.swing.JLabel.<init>(Unknown Source)
at test.GUI.prepareGUI(GUI.java:23)
at test.GUI.<init>(GUI.java:15)
at test.GUI.main(GUI.java:31)

现在,在使用.LEFT之后,应该放在.CENTER的文本消失了。发生这种情况的原因

根据以下说明,您不能使用
JLabel.WEST

公共JLabel(字符串文本, int水平对齐)

使用指定的文字和水平线创建JLabel实例 对齐标签在其显示区域中垂直居中

参数: 文本-标签显示的文本。
水平对齐-SwingConstants中定义的下列常量之一:左、中、右、前导或尾随

水平对齐的唯一选项是左、中、右、前导或尾随


因此,在您的情况下,使用
JLabel.LEFT

根据以下说明,您不能使用
JLabel.WEST

公共JLabel(字符串文本, int水平对齐)

使用指定的文字和水平线创建JLabel实例 对齐标签在其显示区域中垂直居中

参数: 文本-标签显示的文本。
水平对齐-SwingConstants中定义的下列常量之一:左、中、右、前导或尾随

水平对齐的唯一选项是左、中、右、前导或尾随


因此,在您的情况下,使用
JLabel.LEFT

根据以下说明,您不能使用
JLabel.WEST

公共JLabel(字符串文本, int水平对齐)

使用指定的文字和水平线创建JLabel实例 对齐标签在其显示区域中垂直居中

参数: 文本-标签显示的文本。
水平对齐-SwingConstants中定义的下列常量之一:左、中、右、前导或尾随

水平对齐的唯一选项是左、中、右、前导或尾随


因此,在您的情况下,使用
JLabel.LEFT

根据以下说明,您不能使用
JLabel.WEST

公共JLabel(字符串文本, int水平对齐)

使用指定的文字和水平线创建JLabel实例 对齐标签在其显示区域中垂直居中

参数: 文本-标签显示的文本。
水平对齐-SwingConstants中定义的下列常量之一:左、中、右、前导或尾随

水平对齐的唯一选项是左、中、右、前导或尾随


因此,在您的例子中,使用
JLabel.LEFT

这不是对齐的有效参数

从:

水平对齐-中定义的下列常量之一 SwingConstants:左、中、右、前导或尾随


编辑-您还将两个JLabel添加到JFrame的默认位置,在您的示例中,该位置将是BorderLayout.CENTER。这就是为什么您的JLabel不可见。修改JFrame的布局,或者将JLabel放置在默认BorderLayout中的不同位置。此处的详细信息:

这不是对齐的有效参数

从:

水平对齐-中定义的下列常量之一 SwingConstants:左、中、右、前导或尾随


编辑-您还将两个JLabel添加到JFrame的默认位置,在您的示例中,该位置将是BorderLayout.CENTER。这就是为什么您的JLabel不可见。修改JFrame的布局,或者将JLabel放置在默认BorderLayout中的不同位置。此处的详细信息:

这不是对齐的有效参数

从:

水平对齐-中定义的下列常量之一 SwingConstants:左、中、右、前导或尾随


编辑-您还将两个JLabel添加到JFrame的默认位置,在您的示例中,该位置将是BorderLayout.CENTER。这就是为什么您的JLabel不可见。修改JFrame的布局,或者将JLabel放置在默认BorderLayout中的不同位置。此处的详细信息:

这不是对齐的有效参数

从:

水平对齐-中定义的下列常量之一 SwingConstants:左、中、右、前导或尾随


编辑-您还将两个JLabel添加到JFrame的默认位置,在您的示例中,该位置将是BorderLayout.CENTER。这就是为什么您的JLabel不可见。修改JFrame的布局,或者将JLabel放置在默认BorderLayout中的不同位置。此处的更多信息:

您应该在
边框布局中添加
JLabel
s


您应该在
边框布局中添加
JLabel
s


您应该在
边框布局中添加
JLabel
s


您应该在
边框布局中添加
JLabel
s


您可以更改此语句

statusLabel = new JLabel("statusLabel", JLabel.WEST);

不是
import javax.swing.SwingConstants;