Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JTable问题中的JProgressBar_Java_Swing_Jtable_Jprogressbar - Fatal编程技术网

Java JTable问题中的JProgressBar

Java JTable问题中的JProgressBar,java,swing,jtable,jprogressbar,Java,Swing,Jtable,Jprogressbar,我有点问题,有人能帮我吗? 下面是我的代码: public class Test { public static void main(String[] args) { Panel.panel.setVisible(true); } } class Panel extends JFrame implements Runnable { public static Panel panel = new Panel(); JButton b

我有点问题,有人能帮我吗? 下面是我的代码:

public class Test
{   
    public static void main(String[] args) 
    {
      Panel.panel.setVisible(true);
    }

}

class Panel extends JFrame implements Runnable
{
    public static Panel panel = new Panel();

    JButton b= new  JButton("Start");

    public Panel()
    {
        setLayout(new FlowLayout());    
        setSize(300,300);       
        add(b);

        b.addActionListener(new ActionListener()
        {           
            public void actionPerformed(ActionEvent e) 
            {
                javax.swing.SwingUtilities.invokeLater(new Runnable()
                {                   
                    public void run() 
                    {
                       Thread t = new Thread(Panel.panel);
                       t.start();
                    }
                });
            }                   
        });
    }

    public void doSomething(int start, int end)
    {
        JProgressBar bar = new JProgressBar(start, end);
        Panel.panel.add(bar);
        bar.setStringPainted(true);

        try
        {
            for(int i = start; i<=end;i++)
            {
                bar.setValue(i);                    
                Thread.sleep(200);  
                if(bar.getValue() == end)
                    bar.setString("END");
            }

        } catch (InterruptedException e) 
        {               
            e.printStackTrace();
        }      
    }

    public void run() 
    {
        doSomething(0, 50);
    }     
} 
公共类测试
{   
公共静态void main(字符串[]args)
{
Panel.Panel.setVisible(true);
}
}
类面板扩展JFrame实现可运行
{
公共静态面板=新面板();
JButton b=新JButton(“开始”);
公共事务委员会()
{
setLayout(新的FlowLayout());
设置大小(300300);
添加(b);
b、 addActionListener(新ActionListener()
{           
已执行的公共无效操作(操作事件e)
{
javax.swing.SwingUtilities.invokeLater(新的Runnable()
{                   
公开募捐
{
螺纹t=新螺纹(面板.面板);
t、 start();
}
});
}                   
});
}
公共无效剂量测量(整数开始,整数结束)
{
JProgressBar=新的JProgressBar(开始、结束);
Panel.Panel.add(条);
bar.设置字符串已上漆(正确);
尝试
{

对于(inti=start;i,您必须创建自己的TableCellRenderer

在该TableCellRenderer中,必须用JProgressBar替换标准标签

然后,您必须维护一些逻辑来跟踪您的进度,并随着进度的推进刷新表


表的基础知识:

+1这里的示例好的,我有一个扩展TableCellRenderer类,但我不明白一件事。progressbar将如何更新?