JTrog问题中的JProgressBar

时间:2011-08-30 06:20:54

标签: 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= 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);
    }     
} 

我的问题是这些jprogressbars如何在表格的单元格中插入?

1 个答案:

答案 0 :(得分:3)

您必须创建自己的TableCellRenderer

在那个TableCellRenderer中,你必须用JProgressBar替换标准标签

然后,您将不得不保持一些逻辑来跟踪您的进度,并随着您的进步推进而刷新您的表格

表的基础知识:http://download.oracle.com/javase/tutorial/uiswing/components/table.html