java SWT中Label實時重新整理當前時間
阿新 • • 發佈:2021-06-11
同樣最近在開發swt的一個專案,業務中的一個功能模組類似百度網盤的上傳進度條
0/80。
即已上傳0個,總共80個。效果展示要的就是實時重新整理,2/80呀,15/80呀,針對這個,就有了這篇文章。
下面附上【Label實時重新整理時間】參考程式碼和原文連結,我是看這段程式碼加上這篇文章有的靈感。
public class test01 { private static Shell shell; public static void main(String[] args) { Display display = Display.getDefault(); createContents(); shell.open(); shell.layout();while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } } protected static void createContents() { shell = new Shell(); shell.setSize(450, 300); shell.setText("實時重新整理時間"); final Label label = newLabel(shell, SWT.NONE); label.setFont(SWTResourceManager.getFont("微軟雅黑", 13, SWT.NORMAL)); label.setBounds(69, 48, 174, 41); new Thread() {//執行緒操作 public void run() { while(true) { try {//對Label進行實時重新整理,需要加上這句 label.getDisplay().asyncExec(new Runnable() { @Override public void run() { // 設定時間 ,格式化輸出時間 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String s = sdf.format(new Date()); label.setText(s);//輸出到Label上 } }); Thread.sleep(1000);//每隔一秒重新整理一次 } catch (Exception e) { } } } }.start(); } }