有一个使用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
我对隐藏<internal code>
道歉,该项目是保密的。试图制作一个片段来复制它,似乎无法很好地复制它。
此堆栈跟踪行org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:138)
与此maven依赖关系相关:
答案 0 :(得分:1)
当Runnable中的父级为null(未分配)时,您可能会遇到此错误,因此检查是否有任何参数为null可能会解决此问题。
Display.getDefault().syncExec(new Runnable() {
public void run() {
parent.addDisposeListener(new DisposeListener() {
public void widgetDisposed(DisposeEvent event) {
dispose();
}
});
}
});