在Timer中操作到swt的控件会抛出异常,原因是UI控件只能UI线程访问。不过swt提供了一个异步方法Display.getDefault().asyncExec。
- TimerTask timerTask = new TimerTask() {
- @Override
- public void run() {
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- labelTotal2.setText(labelTotal2.getText() + "1");
- }
- });
- }
- };