JProgressBar в задаче JTable - PullRequest
       25

JProgressBar в задаче JTable

2 голосов
/ 30 августа 2011

У меня есть проблема, кто-нибудь может мне помочь? Ниже мой код:

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 Ответ

3 голосов
/ 30 августа 2011

Вам нужно будет создать свой собственный TableCellRenderer

В этом TableCellRenderer вам придется заменить стандартную метку на JProgressBar

Тогда вам придется поддерживать некоторую логику, чтобы отслеживать вашипрогрессировать и обновлять ваш стол по мере вашего прогресса

основы таблицы: http://download.oracle.com/javase/tutorial/uiswing/components/table.html

...