SWT的狀態列和進度條的例項

2021-09-22 13:26:22 字數 2233 閱讀 1115

**很久沒更新了,最近忙著寫《eclipse從入門到精通》的第二版,因為swt api變化的原因,程式全驗證了一篇,有些例項重寫了,還增加了很多內容。這裡是新增的乙個例項,**於乙個讀者的提問。

這一節將實現乙個如圖13.2所示的例項。為了能看清更面板的框架,把面板都設成了邊框型。

例項有以下內容: q

如何建立乙個簡單的狀態列(基於rcp平台能夠直接使用它的進度條服務) q

如何在狀態列中動態建立進度條,同時如何用完後銷毀它。 q

如何用exclude屬性、setvisible和layout方法來動態顯示/隱藏面板或元件。 q

再次表明在乙個執行緒thread裡呼叫swt元件都要用display.asyncexec()包裝一下,而且還要在使用元件前對其是否被銷毀做判斷

圖13.2狀態列裡的進度條

import org.eclipse.swt.swt;

import org.eclipse.swt.events.selectionadapter;

import org.eclipse.swt.events.selectionevent;

import org.eclipse.swt.layout.griddata;

import org.eclipse.swt.layout.gridlayout;

import org.eclipse.swt.layout.rowdata;

import org.eclipse.swt.layout.rowlayout;

import org.eclipse.swt.widgets.button;

import org.eclipse.swt.widgets.composite;

import org.eclipse.swt.widgets.display;

import org.eclipse.swt.widgets.label;

import org.eclipse.swt.widgets.progressbar;

import org.eclipse.swt.widgets.shell;

publicclassprogressbar3

privatevoidopen()

display.dispose();

}privatevoidcreatemaincomp(composite parent)

privatevoidcreatebutton(composite parent)

});hideprobarbutton =newbutton(parent, swt.none

);hideprobarbutton.settext("

隱藏進度條

");hideprobarbutton.setenabled(false);

hideprobarbutton.addselectionlistener(newselectionadapter()

});finalbutton b3 =newbutton(parent, swt.none

);b3.settext(" go ");

b3.addselectionlistener(newselectionadapter()

privatevoidstop()

privatevoidgo()

moveprogressbar(i);

trycatch(throwable e2) {} //

停一秒

}disposeprogressbar();

}privatevoidmoveprogressbar(finalinti)

});}

privatevoiddisposeprogressbar()

});}

}.start();

}});

}privatevoidcreatestatusbar(composite parent)

//建立進度條

privateprogressbar createprogressbar(composite parent)

}

SWT實現狀態列和進度條

實現功能如下 q 如何建立乙個簡單的狀態列 基於rcp平台能夠直接使用它的進度條服務 q 如何在狀態列中動態建立進度條,同時如何用完後銷毀它。q 如何用exclude屬性 setvisible和layout方法來動態顯示 隱藏面板或元件。q 再次表明在乙個執行緒thread裡呼叫swt元件都要用di...

在狀態列動態加進度條

一般情況下,我們可以建立非模式對話方塊並在上面顯示進度條。如果能夠利用狀態條,在狀態條中動態地新增並顯示進度條,將會更加方便直觀。下面將講述如何在delphi 5中程式設計實現在狀態條中動態地新增進度條。具體的過程如下 2 在窗體中新增乙個狀態列元件statusbar1,乙個button元件butt...

狀態列中新增進度條

將進度條新增到狀態列中不是很困難,只要幾步就可以了 1.建立乙個form工程,在窗體上新增乙個狀態列stat,新增乙個進度條progressbar1 2.為了演示進度情況,再新增乙個timer1 3.在stat的屬性中,將showpanels設為true 4.在stat的panels屬性中新增乙個s...