Хотя я использовал Swing раньше, я никогда не использовал дизайнер графического интерфейса, и у меня проблемы с доступом к компонентам, которые я поместил на свою панель из исходного кода.
Я создал новый проект и решил создать форму графического интерфейса. Затем я создал основной метод, используя параметр «сгенерировать», и теперь у меня есть этот код в моем файле «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);
}
}
Затем я добавил JLabel в конструктор с именем поля title
, который добавил атрибут в заголовок моего класса helloWorld. Теперь я хочу установить текст в имени поля после запуска программы.
Если я создаю экземпляр JLabel с новой строкой в качестве аргумента и добавляю его в свой JFrame, программа вылетает из строя с исключением нулевого указателя.
Если я создаю JLabel без аргументов и вызываю для него setText, а затем перерисовываю в JFrame, ничего не происходит.
Я предполагаю, что решу мою проблему одной строкой: как получить доступ к компонентам, которые я создал с помощью дизайнера графического интерфейса?