58,452
社区成员
发帖
与我相关
我的任务
分享
org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Widget is disposed)
at org.eclipse.swt.SWT.error(Unknown Source)
at org.eclipse.swt.SWT.error(Unknown Source)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Unknown Source)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Unknown Source)
at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
...
Caused by: org.eclipse.swt.SWTException: Widget is disposed
at org.eclipse.swt.SWT.error(Unknown Source)
at org.eclipse.swt.SWT.error(Unknown Source)
at org.eclipse.swt.SWT.error(Unknown Source)
at org.eclipse.swt.widgets.Widget.error(Unknown Source)
at org.eclipse.swt.widgets.Widget.getDisplay(Unknown Source)
at org.eclipse.jface.window.DefaultToolTip.getForegroundColor(DefaultToolTip.java:159)
at org.eclipse.jface.window.DefaultToolTip.createToolTipContentArea(DefaultToolTip.java:92)
at org.eclipse.jface.window.ToolTip.toolTipShow(ToolTip.java:332)
at org.eclipse.jface.window.ToolTip.access$4(ToolTip.java:329)
at org.eclipse.jface.window.ToolTip$2.run(ToolTip.java:429)
at org.eclipse.swt.widgets.Display.runTimer(Unknown Source)
at org.eclipse.swt.widgets.Display.messageProc(Unknown Source)
at org.eclipse.swt.internal.win32.OS.MessageBoxW(Native Method)
at org.eclipse.swt.internal.win32.OS.MessageBox(Unknown Source)
at org.eclipse.swt.widgets.MessageBox.open(Unknown Source)
at com.my.test.aaa(Test.java 1000)
at com.my.test.bbb.run(UITest.java:379)
at org.eclipse.swt.widgets.RunnableLock.run(Unknown Source)
... 6 more
public class UITest implements Runnable {
public run(){
new Thread() {
public void run() {
Display.getDefault().syncExec(new Runnable() {
public void run() {
//执行aaa方法
}
});
}.start();
}
}
}
public class Test{
public void aaa(){
//执行某个事件
MessageBox msg = essageBox mb = new MessageBox(shell, SWT.ICON_INFORMATION | SWT.YES);
msg.setText("aa");
msg.setMessage("aaaaa");
msg.open();//选择“是”,就会抛出异样
}
public static void main(String args[]){
///
}
}
public class Test{
public void aaa(){
Display.getDefault().syncExec(new Runnable() {
public void run() {
//执行某个事件
MessageBox msg = essageBox mb = new MessageBox(shell, SWT.ICON_INFORMATION |SWT.YES);
msg.setText("aa");
msg.setMessage("aaaaa");
msg.open();//选择“是”,就会抛出异样 }
});
}
public static void main(String args[]){
///
}
}