高級組件——進度條 JProgressBar
阿新 • • 發佈:2018-10-12
constant rmi sets err containe ima nbsp getc ESS
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); } }
高級組件——進度條 JProgressBar