虽然我以前使用过Swing,但我从来没有使用过GUI设计器,并且在我的源代码中访问已经添加到面板上的组件时遇到了麻烦。
我创建了一个新项目并选择创建GUI表单。然后我使用“generate”选项创建了主要方法,现在我的“helloWorld.java”文件中有了这段代码。
public class helloWorld {
private JPanel myForm;
private JLabel text;
public static void main(String[] args) {
JFrame frame = new JFrame("helloWorld");
frame.setContentPane(new helloWorld().myForm);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setPreferredSize(new Dimension(800, 600));
frame.pack();
frame.setVisible(true);
}
}
我在设计器中添加了一个带有字段名称 title
的 JLabel,这将添加一个属性到我的helloWorld类的头部。现在我想在程序运行后设置字段名称上的文本。
如果我使用新字符串作为参数创建JLabel实例并将其添加到我的JFrame中,则程序会崩溃并出现空指针异常。
如果我创建一个没有参数的JLabel,并在其上调用setText,然后在JFrame上调用repaint,则什么也不会发生。
我想用一句话总结我的问题:如何访问使用GUI设计器创建的组件?