ProgressMonitorを使ってみる
戻る
/**
* $Id: pMonitor.html,v 1.1 2009/06/22 16:12:18 kishi Exp kishi $
*/
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.ProgressMonitor;
import javax.swing.SwingUtilities;
import javax.swing.Timer;
import javax.swing.UIManager;
public class ProgressMonitorTest extends JFrame implements ActionListener {
static ProgressMonitor pbar;
static int counter = 0;
public ProgressMonitorTest() {
super( "ProgressMonitorを使ってみる" );
setSize( 600, 100 );
setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
pbar = new ProgressMonitor( null, "進捗のモニタリング",
"Initializing . . .", 0, 100 );
Timer timer = new Timer( 500, this );
timer.start();
setVisible( true );
}
public static void main( String args[] ) {
UIManager.put( "ProgressMonitor.progressText", "かなり重たい処理を実行しています・・・" );
UIManager.put( "OptionPane.cancelButtonText", "キャンセル" );
new ProgressMonitorTest();
}
public void actionPerformed( ActionEvent e ) {
SwingUtilities.invokeLater( new Update() );
}
class Update implements Runnable {
public void run() {
if ( pbar.isCanceled() ) {
pbar.close();
System.exit( 1 );
}
pbar.setProgress( counter );
pbar.setNote( "現在 " + counter + "% 完了しています" );
counter += 5;
}
}
}
戻る