■ swingコンポーネント->JProgressBar | |
JProgressBarは一部分または全体に色を塗ることができる矩形のコンポーネントですが、作業時間の進捗状態を表すために使われます。 |
|
コンストラクタ(抜粋) | ||||||||||
|
||||||||||
メソッド(抜粋) | ||||||||||
|
||||||||||
|
||||||||||
progressSample.java |
||||||||||
import java.applet.*; | ||||||||||
import java.awt.*; | ||||||||||
import java.awt.event.*; | ||||||||||
import javax.swing.*; | ||||||||||
import javax.swing.event; | ||||||||||
public class progressSample extends JApplet implements ActionListener { | ||||||||||
Container contentPane; | ||||||||||
JButton btn = new JButton("スタート"); | ||||||||||
JProgressBar pgsBar; | ||||||||||
Thread th; | ||||||||||
public void init() { | ||||||||||
contentPane = getContentPane(); | ||||||||||
contentPane.setLayout(new FlowLayout()); | ||||||||||
contentPane.add(btn); | ||||||||||
btn.addActionListener(this); | ||||||||||
pgsBar = new JProgressBar(0,100); | ← @ | |||||||||
pgsBar.setValue(0); | ← A | |||||||||
pgsBar.setStringPainted(true); | ← B | |||||||||
contentPane.add(pgsBar); | ||||||||||
} | ||||||||||
public void actionPerformed(ActionEvent e) { | ||||||||||
if(th==null){ | ← C | |||||||||
th = new sampleThread(); | ||||||||||
th.start(); | ||||||||||
} | ||||||||||
} | ||||||||||
class sampleThread extends Thread{ | ← D | |||||||||
public void run(){ | ||||||||||
for(int i=0; i<=100; i++){ | ||||||||||
try{ | ||||||||||
sleep(100); | ||||||||||
}catch(Exception e){} | ||||||||||
pgsBar.setValue(i); | ||||||||||
} | ||||||||||
th = null; | ||||||||||
} | ||||||||||
} | ||||||||||
} | ||||||||||
@インスタンスの生成
pgsBar = new JProgressBar(0,100); 最小値0、最大値100としてJProgressBarのインスタンスを生成しています。 |
||||||||||
ApgsBar.setValue(0); プログレスバーの初期値を0に設定しています。 |
||||||||||
BpgsBar.setStringPainted(true); プログレスバーが進捗文字列を表示するように設定しています。 ※デフォルトでは進捗文字列はfalseに設定されており、表示されません。 |
||||||||||
C
if(th==null){ th = new sampleThread(); th.start(); } thがnullであれば、sampleThreadクラスをインスタンス化し、スレッドを作成、開始します。 |
||||||||||
Dclass
sampleThread extends Thread{ ・・・ }; sampleThreadクラスを定義しています。100までの繰り返しの中でiの値をプログレスバーにセットしています。繰り返しが終わると、新たにスレッドを作成できるようにth=nullとしています。 |
||||||||||
もどる |