プログレスバーのテスト

戻る





import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

/**
* $Id: PB.html,v 1.1 2009/06/22 16:11:51 kishi Exp kishi $
* @author KISHI Yasuhiro
*/

public class JProgressBarTest extends JFrame {

    private JPanel panel;
    private JLabel label;
    private JProgressBar pbar;

    private JProgressBarTest( String title ) {
        super( title );
        setBounds( 0, 0, 640, 480 );
        setLayout( new FlowLayout() );

        setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );

        Container container = getContentPane();
        container.setLayout( new FlowLayout() );

        pbar = new JProgressBar();
        pbar.setStringPainted( true );
        pbar.setIndeterminate( false );

        panel = new MyPanel();

        container.add( pbar );
        container.add( panel );

        setVisible( true );

        Runnable task = new Runnable() {
                            private int value = 0;

                            public void run() {
                                while ( value <= 100 ) {

                                    pbar.setValue( value );

                                    value++;

                                    try {
                                        Thread.sleep( 100 );
                                    } catch ( Exception e ) {
                                        e.printStackTrace();
                                    }
                                }

                                label.setText( "完了しました♪" );
                            }
                        };

        new Thread( task ).start();

    }

    private class MyPanel extends JPanel {
        public MyPanel() {
            super();
            setPreferredSize( new Dimension( 800, 600 ) );
            setBackground( Color.yellow );

            label = new JLabel( "処理中です!" );

            this.add( label );
        }

    }

    public static void main( String[] args ) {

        JProgressBarTest jpt = new JProgressBarTest( "JProgressBarのテスト" );

    }

}

戻る inserted by FC2 system