首页 > 编程语言 > 详细

非UI线程更新界面

时间:2014-03-28 10:33:15      阅读:603      评论:0      收藏:0      [点我收藏+]
bubuko.com,布布扣
package com.caterSys.Thread;

import java.text.SimpleDateFormat;
import java.util.Date;

import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;

public class TimeThread extends Thread {
    private Display display;
    private Label label;     //要更新的控件
    private boolean isStop = false;

    public TimeThread(Display display, Label label) {
        this.display = display;
        this.label = label;
    }

    public boolean isStop() {
        return isStop;
    }

    public void setStop(boolean isStop) {
        this.isStop = isStop;
    }

    @Override
    public void run() {
        // TODO Auto-generated method stub
        final SimpleDateFormat format = new SimpleDateFormat("hh:mm:ss");
        format.setLenient(false);
        Runnable runnable=new Runnable() {
            @Override
            public void run() {                                
                synchronized (this) {
                    label.setText(format.format(new Date()));
                }
            }
        };
        while (!isStop) {
            try {
                Thread.sleep(1000);
                display.asyncExec(runnable);   //每隔1秒让主线程异步执行刷新时间线程
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                isStop=true;
            }                        
          }
    }
}
bubuko.com,布布扣

非UI线程更新界面,布布扣,bubuko.com

非UI线程更新界面

原文:http://www.cnblogs.com/sandyflower/p/3628957.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!