Eclipse RAP / RWT。 Display.asyncExec()无法正常工作

时间:2016-11-09 10:00:54

标签: user-interface synchronization swt eclipse-rap

我有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()并不重要。

0 个答案:

没有答案