java intellij nullpointerexception表单,不触发构造函数

时间:2015-11-06 01:38:22

标签: java forms intellij-idea constructor nullpointerexception

我是Java的初学者,遇到了一个问题。希望我会在这里得到一些提示。我使用 Intellij IDEA 15.0社区版 我正在尝试创建一个表单,非常简单,现在是2x JTextField。 我创建了测试项目来帮助您理解我的查询。

Main.java(这是我们开始的地方)

public class Main {

    public static void main(String[] args) {
        MyObject ob = new MyObject();
        System.out.println("MyObject: "+ob.testInteger);
        JFrame wrapper = new JFrame("Intellij Test");
        MyWindow myWindow = new MyWindow(ob);
        wrapper.setContentPane(myWindow);
        wrapper.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        wrapper.setVisible(true);
    }
}

MyObject.java

public class MyObject {
    public int testInteger;
    public MyObject() {
        testInteger = 120;
    }
}

MyWindow.java

public class MyWindow extends JFrame {
    private JTextField myTextField;
    private JPanel myWindowPanel;

    private MyObject mob;
    public MyWindow(MyObject ob) {
        System.out.println("This code should ran first???");
        this.mob = ob;
        myTextField = new JTextField();
    }


    private void createUIComponents() {
        System.out.println("But this one is ran instead");
        String test = ""+mob.testInteger;
        myTextField.setText("MyObject value is: "+test);
    }
}

我的表单只是普通的JPanel,其中一个JTextField在图形表单生成器中完成,其中应用了名称,并为myTextField和myWindowPanel勾选了Custom Create。

这是输出:

MyObject: 120
But this one is ran instead
Exception in thread "main" java.lang.NullPointerException
    at MyWindow.createUIComponents(MyWindow.java:27)
    at MyWindow.$$$setupUI$$$(MyWindow.java)
    at MyWindow.<init>(MyWindow.java:19)
    at Main.main(Main.java:19)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)

Process finished with exit code 1

这对我的初学者技能造成了很大的问题,因为我不知道如何将对象传递给我的GUI,所以我有数据来填充JTextFields。

这是我的第一次OO编程尝试,希望我能在这里得到一些有趣的建议。

谢谢, 马切伊

0 个答案:

没有答案