在Java中创建JSML窗口时发生异常

在Java中创建JSML窗口时发生异常,java,Java,我想用Java()中的JSML创建Java窗口 我在启动代码时遇到以下例外情况: 线程“main”java.lang.NullPointerException中的异常位于 jsmql.jsmql.main(jsmql.java:29) /Users/me/Library/Caches/NetBeans/8.1/executor snippets/run.xml:53: Java返回:1生成失败(总时间:0秒) 我查看了Java NullPointerException的含义,但我没有成功地解决我

我想用Java()中的JSML创建Java窗口 我在启动代码时遇到以下例外情况:

线程“main”java.lang.NullPointerException中的异常位于 jsmql.jsmql.main(jsmql.java:29) /Users/me/Library/Caches/NetBeans/8.1/executor snippets/run.xml:53: Java返回:1生成失败(总时间:0秒)


我查看了Java NullPointerException的含义,但我没有成功地解决我的问题。

如果您查看

返回当前位于事件堆栈顶部的事件,如果没有,则返回null

因此,在访问其
类型
属性之前,应检查
事件
是否不为null:

import org.jsfml.window.*;
import org.jsfml.graphics.*;
import org.jsfml.internal.*;
import org.jsfml.window.event.Event;

public class Jsmql {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws InterruptedException, ContextActivationException {
        // TODO code application logic here
        VideoMode vm = new VideoMode(100, 100);
        Window fen = new Window(vm, "aaa");
        while(fen.isOpen()) {
            fen.display();
            Event event = fen.pollEvent();
            if (event.type == Event.Type.CLOSED) {
                fen.close();
            }
        }
    }

}

您确定正在运行此代码吗?错误消息显示第29行,但您的代码段只有24行。是的,如果(event.type==event.type.CLOSED)
if (event != null && event.type == Event.Type.CLOSED) {
    fen.close();
}