Tach auch,
ich möchte über einen Fremdthread auf ein Browserfeld in einer SWT Gui zugreifen. Es sollen Nachrichten in dieses Fenster bzw. in den Browserbereich geschrieben werden.
(Browserbereich deshalb, weil ich da so schön mit HTML rumfuchteln kann).
Jetzt frag ich mich gerade, wie es wohl funktioniert nicht nur wie in den ganzen Beispielen eine Progressbar zu aktualisieren, sondern kompletten Text in die GUI zu schieben. Ich frag mich das deshalb, weil es mir noch nicht gelungen ist den Text meines Thread X über das Runnable und die AsyncExec in die GUI zu bekommen, da ich immer die Meldung "Cannot refer to a non-final variable message inside an inner class defined in a different method" wenn ich das Statement "swtWindow.fieldBrowserText.setText(message);" bekomme.
Danke für eure Tipps
Gruß
Ben
ich möchte über einen Fremdthread auf ein Browserfeld in einer SWT Gui zugreifen. Es sollen Nachrichten in dieses Fenster bzw. in den Browserbereich geschrieben werden.
(Browserbereich deshalb, weil ich da so schön mit HTML rumfuchteln kann).
Jetzt frag ich mich gerade, wie es wohl funktioniert nicht nur wie in den ganzen Beispielen eine Progressbar zu aktualisieren, sondern kompletten Text in die GUI zu schieben. Ich frag mich das deshalb, weil es mir noch nicht gelungen ist den Text meines Thread X über das Runnable und die AsyncExec in die GUI zu bekommen, da ich immer die Meldung "Cannot refer to a non-final variable message inside an inner class defined in a different method" wenn ich das Statement "swtWindow.fieldBrowserText.setText(message);" bekomme.
PHP:
private void printMessage (String sender, String message){
Log.debug("Nachricht von "+sender+": "+message);
if (isTextChat){
System.out.println("Nachricht von "+sender+": "+message);
Log.debug("Nachricht von "+sender+": "+message);
}
else{
if (mChatWindow!=null){
//mChatWindow.setMessage2ChatWindow(sender, message);
mChatWindow.getParent().getDisplay().getDefault().
asyncExec (
new Runnable () {
public void run () {
mChatWindow.fieldChatText.setText(message);
}
}
);
}
else{
System.out.println("ERROR!! ChatWindow = null");
Log.debug("ERROR!! ChatWindow = null");
}
}
}
Danke für eure Tipps
Gruß
Ben
Zuletzt bearbeitet: