本文主要是介绍Exception in thread Thread-0 org.eclipse.swt.SWTException: Invalid thread access. 错误解决,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
运行SWT GUI的应用程序是遇到异常:
原因: 在写用户界面是通常画静态界面放在一个类,称为UI线程。而某个按钮或事件触发的另一个事件发生时,起一个线程去处理这个事件,这个线程叫非UI线程。如果你在非UI线程里面对界面的变量,如:某个按钮、text等,就会报上面的错误。因为程序找不到对应的Display。如果您了解Display功能就会很容易理解这个问题,Display的作用就是负责enent loop, font,color,UI线程和其他线程的通信。
解决方法: 在非UI线程操作操作UI线程的地方加上
Display.getDefault().syncExec(new Runnable(){
public void run() {
// 需要操作的ui线程的代码
}
});
这篇关于Exception in thread Thread-0 org.eclipse.swt.SWTException: Invalid thread access. 错误解决的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!