プログレスバーを使用してみる。
1.追加ソース
/**
* Initialize the contents of the frame.
*/
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 450, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(new BorderLayout(0, 0));
JButton btnNewButton = new JButton("開始");
frame.getContentPane().add(btnNewButton, BorderLayout.SOUTH);
progressBar = new JProgressBar(0 , 100);
frame.getContentPane().add(progressBar, BorderLayout.NORTH);
btnNewButton.addActionListener(this);
timer = new Timer(100 , this);
timer.start();
}
/**
* 汎用String格納用メンバ変数
* メモリ効率を考えてStringBuilderを使用する。
* */
StringBuilder mStringBuilder = new StringBuilder();
/* (非 Javadoc)
* @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
*/
public void actionPerformed(ActionEvent e) {
if(mStringBuilder !=null){
mStringBuilder.delete(0, mStringBuilder.length());
}
mStringBuilder.append(e.getActionCommand());
//開始のボタンイベントかどうか
if(mStringBuilder.toString().equals("開始")){
//警告ダイアログを表示する。
JLabel label = new JLabel("Message");
label.setForeground(Color.RED);
JOptionPane.showMessageDialog(frame, label);
}else{
//ActionEventがクリックボタンではない場合,プログレスバーの値変更処理開始
int value = progressBar.getValue();
if (value == 100) {
timer.stop();
return;
}else{
progressBar.setValue(value + 1);
}
}
}
2.プログレスバーが表示された。
| プログレスダイアログが表示された。 |
3.プロジェクトについて
ここのサイトに格納しております。何かのお役に立てたら幸いです。
