Tôi tạo CellRenderer của riêng mình bao gồm một số chuỗi và JProgressBar trong một Mục JList ... Nhưng JProgressBar và vì vậy toàn bộ JList Item sẽ được vẽ một lần và tôi đang tìm cách để vẽ lại Vật phẩm ... Tôi đã cố gắng để bắt đầu một sợi, mà sẽ vĩnh viễn repaint ... Nhưng tôi không biết những gì tôi phải repaint để có được kết quả ...CellRenderer Item repaint
JList repaint ... no result CellRenderer repaint ... không có kết quả JFrame repaint ... không có kết quả
Có ai hiểu vấn đề của tôi và biết cách thoát không?
Cảm ơn bạn rất nhiều!
UPDATE: [Update đã xóa]
TIẾP 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/) đầu tiên, trả lời thứ hai;) – MadProgrammer
để được giúp đỡ tốt hơn sớm gửi một [SSCCE] (http://sscce.org/), ngắn, runnable, compilable, chỉ về vấn đề sáng – mKorbel
Để chuyển 2 tệp nguồn thành SSCCE, chỉ có một tệp được khai báo là 'công khai'. Thêm nguồn cho lớp thứ 2, vào cuối nguồn cho lần đầu tiên. –