SWT Tips and Samples 基礎編 > ProgressBar

 

ProgressBar

ProgessBarは、処理の進行状況を表すコンポーネントです。下のように二つの概観を持つプログレスバーを作ることができます。setMaximum、setMinimumメソッドで最大値、最小値を設定し、setSelectionメソッドで現在値を設定します。

スクリーンショット

ソースコード (ProgressBarTest.java)

import org.eclipse.swt.widgets.*;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.*;

public class ProgressBarTest extends SelectionAdapter {

        private Button b1, b2;
        private ProgressBar pb1, pb2;
        
        public static void main(String[] args) {
                new ProgressBarTest();
        }
        public ProgressBarTest() {
                Display display = new Display();
                Shell shell = new Shell(display);
                shell.setText("ProgressBarTest");

                GridLayout gd = new GridLayout();
                gd.numColumns = 2;
                shell.setLayout(gd);

                pb1 = new ProgressBar(shell, SWT.HORIZONTAL);
                pb1.setMinimum(0);
                pb1.setMaximum(100);

                b1 = new Button(shell, SWT.PUSH);
                b1.setText("Press");
                b1.addSelectionListener(this);
                
                pb2 = new ProgressBar(shell, SWT.SMOOTH | SWT.HORIZONTAL);
                pb2.setMinimum(0);
                pb2.setMaximum(100);

                b2 = new Button(shell, SWT.PUSH);
                b2.setText("Press");
                b2.addSelectionListener(this);
                
                shell.pack();
                shell.open();
                while (!shell.isDisposed()) {
                        if (!display.readAndDispatch()) {
                                display.sleep();
                        }
                }
                display.dispose();
        }
        public void widgetSelected(SelectionEvent event) {
                ProgressBar pbar = null;
                if (event.getSource() == b1) {
                        pbar = pb1;
                }else if (event.getSource() == b2){
                        pbar = pb2;
                }else{
                        return;
                }
                for (int i = 0; i <= 100; i++) {
                        try {
                                Thread.sleep(10);
                        } catch (InterruptedException ex) {
                                ex.printStackTrace();
                        }
                        pbar.setSelection(i);
                }
        }
}


最新更新日: 2004年9月1日
 
関連リンク
Eclipse API ドキュメント

- PR -

プレゼンテーション作成ソフト無料お試し版配信中

【Sony】大手他社よりも安い!ビジネス向け光・100Mしかも固定IP付!今なら更に初期費用最大15,000円OFF!

オフィス用品・オフィス家具 価 格 交 渉 可! 
◎ 目指せ★業界最安値 ★ ◎ オフィネット・ドットコム株式会社

注文から納品まで驚きの早さ!!【ASKULカタログ】はこちらから・・・

マイクロソフト お得な見積! まとめての購入ならオトクな方法で。ライセンスだから管理も簡単。


Copyright(C) 2003,2004 Jasmin Project. All Right Reserved.
SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送