我有RAP / RWT应用程序。该应用的实施版本为AbstractEntryPoint
。有代码:
void createContent(Composite c){
//...
new Timer("status").scheduleAtFixedRate(createStatusTask(), 0, 5000);
}
TimerTask createStatusTask() {
return new TimerTask() {
@Override
public void run() {
getStatus();
}
};
}
void getStatus(){
System.out.println("1");
getShell().getDisplay().asyncExec(() -> {
System.out.println("2");
myLabel.setText("some new text")
});
}
当我启动我的应用程序时,我看到了输出:
1
1
1
2
2
2
1
2
1
1
1
... and further "1" only
因此,myLabel.setText()
在开始时运行多次,而不是更多。使用哪种方法syncExec()
或asyncExec()
并不重要。