Исключение NullPointer в $$$ setupUI $$$ с использованием IntelliJ IDEA GUI Designer

1

Я пытаюсь использовать графический интерфейс, который я сделал в IntelliJ IDEAS GUI Designer, в апплете, над которым я работаю. Я получил возможность запускать, когда у меня только один ярлык внутри моего корневого JPanel, но по какой-то причине, когда я добавляю больше компонентов, я получаю следующую ошибку:

java.lang.NullPointerException
at java.awt.Container.addImpl(Container.java:1095)
at java.awt.Container.add(Container.java:971)
at inputGui.$$$setupUI$$$(inputGui.java)
at inputGui.<init>(inputGui.java:25)
at HelloWorld.init(HelloWorld.java:11)
at sun.applet.AppletPanel.run(AppletPanel.java:435)
at java.lang.Thread.run(Thread.java:745)

Мой класс для inputGui.java изложен следующим образом:

(Я буду отмечать линию, где он ломается: //! BROKEN - строка 25!)

public class inputGui extends JFrame {
private JPanel rootNode;
private JTextField id_field;
private JTextField mi_field;
private JTextField lastName_field;
private JTextField address_field;
//more declorations...

public inputGui() {//initialize GUI
        super( "Hello World" );
        setContentPane( rootNode );//!BROKEN - Line 25!
        pack();
        setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
        setVisible( false );
    }
    public JPanel getRootNode() {
        return rootNode;
    }
    private void createUIComponents() {
        // TODO: place custom component creation code here
    }
}

И я называю это из своей функции init():

public class HelloWorld extends JApplet {
    //Called when this applet is loaded into the browser.
    public void init() {
        //Execute a job on the event-dispatching thread; creating this applet GUI.
        inputGui frame =  new inputGui();//just here to get a clearer error
        try {
            SwingUtilities.invokeAndWait(new Runnable() {
                public void run() {
                    Container content = getContentPane();
                    inputGui frame =  new inputGui();//init GUI
                    content.add(frame.getRootNode() );//add rootNode to JFRame

                }
            });
        } catch (Exception e) {
            System.err.println("createGUI didn't complete successfully");
        }
    }

}

Я просто не могу понять, почему добавление компонентов внезапно создает нулевой указатель !. Если какая-либо помощь в моих элементах вложена так:

Изображение 174551

  • 0
    когда я инициализирую его, я получаю следующее предупреждение: назначение будет перезаписывать пользовательский интерфейс, связанный с дизайнером пользовательского интерфейса. Когда я все равно его инициализирую, строка, инициализирующая его, все равно ломает.
Теги:
intellij-idea
user-interface
applet

1 ответ

19
Лучший ответ

Код от inputGui.java

private void createUIComponents() {
   // TODO: place custom component creation code here
}

Вы выбрали опцию "Custom Create" для некоторых компонентов в дизайнере пользовательского интерфейса. Вы должны создать этот компонент самостоятельно, иначе он потерпит неудачу. Снимите этот флажок, и все будет хорошо.

  • 0
    Боже мой, ты оооочень много: D

Ещё вопросы

Сообщество Overcoder
Наверх
Меню