gpt4 book ai didi

java - JLabel方向导致错误

转载 作者:行者123 更新时间:2023-12-01 22:23:14 25 4
gpt4 key购买 nike

我是 Java Swing 新手。我创建了一个简单的 JFrame,如下代码所示,但是当行 statusLabel = new JLabel("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)

更新:

现在,在使用 .LEFT 后,原本应该放置在 .CENTER 处的文本消失了。为什么会发生这种情况

最佳答案

这不是对齐的有效参数。

来自API :

horizontalAlignment - One of the following constants defined in SwingConstants: LEFT, CENTER, RIGHT, LEADING or TRAILING.

编辑 - 您还将两个 JLabel 添加到 JFrame 的默认位置,在您的情况下,该位置将为 BorderLayout.CENTER。这就是您的 JLabel 不可见的原因。修改 JFrame 的布局,或将 JLabels 放置在默认 BorderLayout 中的不同位置。更多信息请点击:http://docs.oracle.com/javase/tutorial/uiswing/layout/border.html

关于java - JLabel方向导致错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29283149/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com