进度条,是我们平常所用并不是很多的Swing控件之一,虽然是控件,但是我们的应用次数不多,虽然通常掌握程度也就不够熟练。下面,介绍一个例子。 首先创建一个JFrame,添加一个JTextArea和一个JProgressBar,还有一个JButton 因为要使用到多线程,所以在JFrame后面加上implements Runnable。如下: public class ProgressBarDemo extends new javax.swing.JFrame implements Runnable{ int leng=0; boolean a=false; } 在按钮中添加如下代码: if(a==false){ a=true; this.jButton.setText("Stop"); }else{ this.jButton.setText("Start"); }
Thread t=new Thread(this);
t.start();
下面是run()函数代码: public void run() { while(true){ if(a==true){ if(this.jProgressBar1.getValue()<this.jProgressBar1.getMaximum()){ this.jProgressBar1.setValue(this.jProgressBar1.getValue()+1); this.jTextArea1.append(tt.substring(leng,leng+1)); leng++; if(leng==tt.length()){ leng=0; } }else{ a=false; }try { t.sleep(50); } catch (InterruptedException ex) { ex.printStackTrace(); } } } }
|