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 に答える