Я создал свой собственный CellRenderer, который содержит несколько строк и JProgressBar в элементе JList ... Но JProgressBar, и поэтому весь элемент JList будет нарисован один раз, и я ищу способ перекрасить Элементы ... Я попытался начать нить, которая будет постоянно перерисовываться ... Но я не знаю, что мне нужно перерисовать, чтобы получить результат ...CellRenderer Item repaint
JList repaint ... нет результата CellRenderer repaint ... нет результата JFrame repaint ... нет результата
Кто-нибудь понимает мою проблему и знает выход?
спасибо!
UPDATE: [Update удалено]
СЛЕДУЮЩИЙ UPDATE:
import java.awt.Component;
import java.awt.Dimension;
import javax.swing.DefaultListModel;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
import javax.swing.ListCellRenderer;
public class Main extends JFrame{
public DefaultListModel contentListModel = new DefaultListModel();
public MyCellRenderer MCR = new MyCellRenderer();
public JList contentList = new JList(contentListModel);
public Main(){
super("Example");
setMinimumSize(new Dimension(300,300));
setDefaultCloseOperation(EXIT_ON_CLOSE);
contentList.setCellRenderer(MCR);
contentListModel.addElement("");
contentListModel.addElement("");
add(contentList);
}
public static void main(String[] args){
new Main().setVisible(true);
}
class MyCellRenderer extends JPanel implements ListCellRenderer{
public MyCellRenderer(){
JProgressBar jpb = new JProgressBar();
jpb.setIndeterminate(true);
add(jpb);
}
@Override
public Component getListCellRendererComponent(JList arg0, Object arg1,
int arg2, boolean arg3, boolean arg4) {
// TODO Auto-generated method stub
return this;
}
}
}
[SSCCE] (http://sscce.org/) первым, второй ответ;) – MadProgrammer
для лучшей помощи рано ВЫВЕШИТ [SSCCE] (http://sscce.org/), краткое, выполнимое, компилируемое, только около вопроса – mKorbel
Чтобы превратить 2 исходных файла в SSCCE, только один объявленный как 'public'. Добавьте источник для второго класса, в конец источника для первого. –