A thread in Java cannot directly access the GUI. With the following snippet, the access is possible:
Call from the thread:
@Override
public void run() {
html = "<h1>Huhu</h1>";
dlg.setSomeStuffToGui(html);
}
Method in the GUI:
public void setSomeStuffToGui(final String html) {
Display display = getDisplay();
display.asyncExec(new Runnable() {
public void run() {
//your stuff goes here:
textField.setText(html);
}
});
}
Eclipse RCP
In an Eclipse RCP application, the snippet looks like that:
final IWorkbench workbench = PlatformUI.getWorkbench();
final Display display = workbench.getDisplay();
display.syncExec(new Runnable()
{
public void run()
{
//do stuff
}
});
