2012-02-15 111 views
2

我的应用程序中有一个简单的JForm和一个JDialog。的JDialog框包含的JProgressBar eliment和I'put在一个JDialog的方法,如何更新j进度条

public void updateProgress(int val){ 
     prgProgress.setValue(val); //prgProgress-> name of the JProgressBar 
    } 

更新进度条。

当我尝试更新从JForm在我的JDialog进度条,如预期请告诉我,这可能是错误的JProgressBar不更新,

例。

public class Status extends javax.swing.JDialog{ 
private javax.swing.JProgressBar prgProgress = new javax.swing.JProgressBar; 
..... 

public void updateProgress(int val){ 
      prgProgress.setValue(val); //prgProgress-> name of the JProgressBar 
     } 

..... 

} 

public class MyForm extends javax.swing.JInternalFrame { 
    Status s = new Status(); 
    s.setVisible(true); 
    for(int i=0; i<100; i++){ 
     s.updateProgress(i); 
    } 

} 

回答

1

首先,我无法从你的代码中看到上面显示已添加的JProgressBarJDialog,但我相信你已经这样做了。 其次,您未从构造函数或成员函数setMaximum()中设置JProgressBar的最大值。这可能是没有取得进展的原因。

另请参见:

http://docs.oracle.com/javase/tutorial/uiswing/components/progress.html

+0

我已经设置了jprogressbar的最大值,但仍然遇到同样的问题。 – Harsha 2012-02-15 06:49:00

+0

为了澄清问题,JProgressBar是否显示在JDialog上,即显示零进度的条形图? – 2012-02-15 06:58:05

+0

是的进度条显示在JDialog上 – Harsha 2012-02-15 07:01:09