Я хотел бы использовать Timer внутри классов Scout для изменения пользовательского интерфейса элементов scout.
Например: у меня есть некоторая метка, и я хотел бы изменить значение через некоторое время:
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
myLabel.setValue("some value")
}
}, 1000 * 4);
Это дает мне ошибку:
Exception in thread "AWT-EventQueue-0" java.lang.IllegalStateException: queueing rwt runnable from outside scout thread
ведь я понимаю, потому что вы не должны менять пользовательский интерфейс вне своего потока. Но теперь у меня возникли проблемы с возвратом в поток пользовательского интерфейса, потому что это не поток SWT и не поток SWING. (Scout UI является оболочкой для обоих)
Как я могу запустить таймер в Scout или как получить поток пользовательского интерфейса в Scout?
Марко