GUI不会出现Java

时间:2012-03-11 17:00:04

标签: java swing user-interface nullpointerexception

您好我正在创建一个程序,运行时遇到错误。它说:

    Exception in thread "main" java.lang.NullPointerException
            at java.awt.Container.addImpl(Container.java:1045)
            at java.awt.Container.add(Container.java:365)
            at javax.swing.JPopupMenu.add(JPopupMenu.java:264)
            at javax.swing.JMenu.add(JMenu.java:562)
            at truthtable.GUI.getCreatedMenuBar(GUI.java:587)
            at truthtable.GUI.<init>(GUI.java:208)
            at truthtable.Application.<init>(Application.java:10)
            at truthtable.Application.main(Application.java:18)
    Java Result: 1

我的类Application.java:

  package truthtable;
    public class Application {

        public Application() {
            new GUI(null);
        }

        public static void main(final String[] args) {
            new Application();
        }
    }

这是什么意思?当我尝试编辑该错误中的代码时,它只是readonly。

这是我的gui构造函数的代码:

 public GUI(final ApplicationStarter appStarter) {
        super();

        this.applicationStarter = appStarter;
        outputMode = TruthValue.TRUE_FALSE;
        computationMethod = COMPLETE_METHOD;
        hasFullPermission = getHasFullPermission();
        smallTableLimit = 256;
        maxStatementLength = 256;
        maxRowsInTextTable = 1024;

      int arraySize=3;

        buttonStates = new boolean[4];
        final GridBagConstraints gbc = new GridBagConstraints();
        defaultCursor = new Cursor(Cursor.DEFAULT_CURSOR);
        waitCursor = new Cursor(Cursor.WAIT_CURSOR);

        setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
        addComponentListener(new ComponentAdapter() {
            public void componentResized(final ComponentEvent e) {
                int width = getWidth(),
                    height = getHeight();

                final int minHeight=50;
                final int minWidth=20;
                if (width < minWidth)
                    width = minWidth;
                if (height < minHeight)
                    height = minHeight;
                setSize(width, height);
            }

2 个答案:

答案 0 :(得分:1)

GUI构造函数的问题是您没有显示代码。看起来传递null将是一个问题。是否期望非空值?如果是,请弄清楚如何提供一个。

答案 1 :(得分:1)

我相信你正在运行错误的程序。你需要一个GUI构造函数来实现它。