我刚刚开始使用Java而且我一直在讨论一些非常烦人的事情
我正在使用NetBeans IDE,并且正在使用拖放功能构建JFrame
。我在框架中添加了两个标签并重命名(使用WYSIWYG interface designer
)。
现在我想进入代码并更改标签的名称,但它们不可见(在代码中)。知道为什么吗? (我通常使用C#编程,并且在设计器中标签会自动显示在代码中)
更新:
当我尝试引用标签时出现以下错误。
答案 0 :(得分:2)
在代码中,它们是由Netbeans生成的initComponents()
方法声明的。
如果我理解正确,您只是在寻找JLabel变量名称?如果是这样,这就是他们所在的位置 - 不确定Netbeans是否允许您更改initComponents()
方法中的任何内容。您可能必须在GUI编辑器中通过右键单击标签并根据需要设置属性来执行此操作。
修改强>
这种情况正在发生,因为您可能在main中执行此操作,这是一种静态方法。我个人会为标签创建一个JPanel。例如,假设标签是“标题”。所以我会创建一个TitlePanel类来保存这些JLabel(无论你喜欢什么样的布局)。
通过这种方式,您可以从主要引用该类并添加它,如下所示:
TitlePanel panel = new TitlePanel();
panel.setFirstTitle("test"); //this would be a custom method where you get the label and set it inside there
frame.add(panel);
另一方面,通过语言而不是GUI构建器学习swing是更明智的,因为您可能并不总是希望将Netbeans用作IDE,但可能会在将来改变您的偏好。
答案 1 :(得分:0)
默认情况下,它们通常被命名为jLabel1,jLabel2 ..但除非你以不同方式告别它们(即在设计时更改了它们的名字),否则无法从如何判断访问它们。