2

我有一些问题,有人可以帮助我吗?下面是我的代码:

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 如何插入表格的单元格?

4

1 回答 1

3

您必须创建自己的 TableCellRenderer

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

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

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

于 2011-08-30T06:29:37.633 回答