**很久沒更新了,最近忙著寫《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...