我正在从主类调用另一个线程。在该线程中,我想以不确定模式显示 JProgressBar 但是当我调用 For 类时,会出现空框架并且不显示进度条
线程代码在这里
import java.awt.FlowLayout;
import javax.swing.JFrame;
import javax.swing.JProgressBar;
public class Verify extends JFrame implements Runnable
{
JProgressBar bar;
public Verify(long ID,String path)
{
}
@Override
public void run()
{
bar =new JProgressBar();
bar.setIndeterminate(true);
bar.setStringPainted(true);
bar.setVisible(true);
frame.add(bar);
frame.pack();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
frame.setVisible(true);
//Do some work here
if(flag==true)
{
//call for another thread
frame.dispose();
}
else
{
frame.dispose();
}
}
}
主类的线程调用就在这里
private void Process_ContactActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String Id=Id_Field.getText().toString().trim();
if(Id.isEmpty())
{
//job
}
else
{
if(path==null)
{
//Job
}
else
{
long id=Long.parseLong(Id);
Verify verify=new Verify(id,path);
verify.run();
}
}
}
最佳答案
您应该更改代码
long id=Long.parseLong(Contact_Id);
Verify verify=new Verify(id,path);
new Thread(verify).start();
我们在任何地方都没有看到任何 Verify_Contact
类或引用。除此之外,Verify 是一个可运行的对象。因此,您需要将其交给一个 Thread 实例来执行它。您应该使用 start()
方法,而不是直接调用 run()
方法
关于java - JProgressbar 未出现在框架中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20839667/