java - JProgressbar 未出现在框架中

标签 java multithreading swing jframe

我正在从主类调用另一个线程。在该线程中,我想以不确定模式显示 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/

相关文章:

java - 我是否需要刷新或关闭自定义 Spring Web MessageConverter 中的 OutputStream

multithreading - RAILS_MAX_THREADS 是 Puma 会在构建时设置和缩放的东西,还是我应该设置它?

java - JFrame和JPanel之间的通信

java - 如何使用javaFX Canvas绘制图像图案

c# - 设计和实现执行多个步骤的 API

java - 如果没有人调用interrupt(),是否可以忽略InterruptedException?

java - 在Java中是否可以等待不在线程中的方法完成?

java - JLabels setPreferredSize 更改所有 JLabel 的大小,而不仅仅是一个?

java - 尝试使用 KeyListeners 和 ImageIcons 时出现错误?

Java 枚举和数组