【问题标题】:org.eclipse.swt.SWTException: Failed to execute runnable (java.lang.NullPointerException)org.eclipse.swt.SWTException:无法执行可运行(java.lang.NullPointerException)
【发布时间】:2019-05-21 14:49:37
【问题描述】:

手头有一个使用 SWT 框架的项目。不幸的是,我目前遇到了这个问题,我真的不知道如何解决它,知道为什么我会遇到这个问题吗?

org.eclipse.swt.SWTException: Failed to execute runnable (java.lang.NullPointerException)
    at org.eclipse.swt.SWT.error(SWT.java:4397)
    at org.eclipse.swt.SWT.error(SWT.java:4312)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:138)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3976)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3653)
    ... 4 more
Caused by: java.lang.NullPointerException
    at org.eclipse.swt.widgets.Control.internal_new_GC(Control.java:2126)
    at org.eclipse.swt.graphics.GC.<init>(GC.java:171)
    at org.eclipse.swt.graphics.GC.<init>(GC.java:134)
    at org.eclipse.swt.widgets.Tree.setScrollWidth(Tree.java:2951)
    at org.eclipse.swt.widgets.Tree.setScrollWidth(Tree.java:2944)
    at org.eclipse.swt.widgets.Tree.removeAll(Tree.java:2392)
    ... <internal code>
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
    ... 6 more

我很抱歉隐藏&lt;internal code&gt;,该项目是机密的。试图制作一个sn-p来复制它,似乎不能很好地复制它。

此堆栈跟踪行 org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:138) 与此 maven 依赖项有关:

  • GroupId:org.eclipse.swt
  • ArtifactId:org.eclipse.swt.cocoa.macosx
  • 版本:4.2.1

【问题讨论】:

标签: java cocoa nullpointerexception swt


【解决方案1】:

当 Runnable 中的 parent 为 null(未赋值)时,您可能会遇到此错误,因此检查是否有任何参数为 null 可能会解决问题。

Display.getDefault().syncExec(new Runnable() {
    public void run() {
        parent.addDisposeListener(new DisposeListener() {
            public void widgetDisposed(DisposeEvent event) {
                dispose();
            }
        });
    }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-09
    • 1970-01-01
    • 2023-04-03
    • 2020-12-07
    • 2012-09-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多