progressbar.java

来自「JAVA编写的进度条」· Java 代码 · 共 77 行

JAVA
77
字号
package progressbar;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;



/**
 * @author hp
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
public class ProgressBar extends JPanel 
{
    JProgressBar Pa;
    JButton Pb=new JButton("start");
    int min=0;
    int max=100;
    public  ProgressBar()
    {
    	JProgressBar Pa=new JProgressBar();
    	Pb.addActionListener(new ActionListener()
    			{
    		public void actionPerformed(ActionEvent e)
    		{
              
    		};
    		    });
    	
    	Pa.setMinimum(0);
    	Pa.setMaximum(100);
    	Pa.setStringPainted(true);
    	Pa.setString(null);																																																																																																																																																															
    	add(Pb);
    	add(Pa);
    }
    public void updateBar(int newVelue)
    { 
    	Pa.setValue( newVelue);
    };
	public static void main(String[] args)
	{
		final ProgressBar it =new ProgressBar();
		JFrame frame=new JFrame("Progress Bar");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setContentPane(it);
		frame.setLayout(new GridLayout(2,1));
		frame.pack();
		frame.setVisible( true);
		for(int i=0;i<=100;i++)
		{
			final int percent =i;
			/*Pa.addChangeListener(new ChangeListener()
					{
				     public void  stateChanged(ChangeEvent e)
				     {
				     	it.updateBar(percent);
				     }
			        });*/
			try{
				SwingUtilities.invokeLater (new Runnable()
						{
					      public void run()
					      {
					      	it.updateBar(percent);
					      }
					    });
				java.lang.Thread.sleep(100 );
				}catch (InterruptedException e)
				{
					System.err.println("Interrupted!");
				};
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?