JProgressBar pro=new JProgressBar();
pro.setIndeterminate(boolean); 设置不确定性
false,确定的进度条(显示进度,常用)。
true,不确定的进度条(一般用来提示等待,不常用)。
两种信息类型:
pro.setString("提示信息"); 文本信息
pro.setValue(100); 百分数信息,当前进度100%
信息是否显示(信息被绘制出)
pro.setStringPainted(boolean);
import javax.swing.*; import java.awt.*; public class Demo extends JFrame { JProgressBar pro3;//成员变量,自定义线程中需要使用 public Demo(){ setTitle("使用进度条"); setBounds(100,100,300,200); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); Container c=getContentPane(); c.setLayout(new GridLayout(3,1,10,10)); JProgressBar pro1=new JProgressBar(); pro1.setIndeterminate(true);//不确定进度条 pro1.setStringPainted(true);//显示信息 pro1.setString("请耐心等待,连接中...");//提示信息 c.add(pro1); JProgressBar pro2=new JProgressBar(); pro2.setIndeterminate(false);//确定的进度条 pro2.setValue(20);//当前进度 pro2.setStringPainted(true);//信息被显示,20% c.add(pro2); pro3=new JProgressBar(); pro3.setStringPainted(true);//信息被显示 c.add(pro3); MyThread progress=new MyThread();//线程对象 progress.start();//启动线程 } class MyThread extends Thread{//自定义线程,实现进度的不断变化 @Override public void run() { for (int i=0;i<=100;i++){ pro3.setValue(i);//让进度不断变化 try { Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } } } } public static void main(String[] args) { Demo frame=new Demo(); frame.setVisible(true); } }