1
由于这是SWTException,我使用了syncExec方法,但即使我无法从我的代码中重新解决SWTException问题。请建议。有关SWTException的问题:无效的线程异常| synExec用法失败
public class SampleSwtAction implements IWorkbenchWindowActionDelegate {
private IWorkbenchWindow window;
public SampleSwtAction() {
}
public void run(IAction action) {
MessageDialog.openInformation(
window.getShell(),
"SampleSwt",
"Hello,Run swt application");
window.getShell().getDisplay().syncExec(
new Runnable() {
public void run(){
Display firstDisplay = new Display();
Shell firstShell = new Shell(firstDisplay);
firstShell.setText("Sample SWT application");
firstShell.setSize(200,100);
firstShell.open();
while (!firstShell.isDisposed()) {
if (!firstDisplay.readAndDispatch())
firstDisplay.sleep();
}
firstDisplay.dispose();
}
});
}
public void selectionChanged(IAction action, ISelection selection) {
}
public void dispose() {
}
public void init(IWorkbenchWindow window) {
this.window = window;
}
}
所以不可能在单个Runnable条目中提供整套代码 – 2011-01-06 08:20:29