Olá, gostaria de saber se tenho como adicionar uma imagem .gif as linhas da minha JList.
E se tiver, se tem como deixar as gifs sempre posicionadas ao canto direito da linha.
JList com Gif
6 Respostas
teria como mostrar como está sua list?
minha list está normal… estou apenas inserindo valores nela… mas cada objeto que insiro na list, invoca uma thread, e quero colocar uma gif na list, indicando o status do parse daquele objeto…
mas só quero saber como colocar uma gif na linha da minha jlist.
vc pode custumizar o listcellrender
http://www.apl.jhu.edu/~hall/java/Swing-Tutorial/Swing-Tutorial-JList.html
vc pode custumizar o listcellrender
http://www.apl.jhu.edu/~hall/java/Swing-Tutorial/Swing-Tutorial-JList.html
ja estou customizando a listcellrenderer, e minha classe esta assim no momento:
public class MyCellRenderer extends JLabel implements ListCellRenderer {
public MyCellRenderer() {
super();
setOpaque(true);
}
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
setText(value.toString());
if (isSelected) {
setBackground(list.getSelectionBackground());
setForeground(list.getSelectionForeground());
} else {
setBackground(list.getBackground());
setForeground(list.getForeground());
}
if (action.getStatus() == Status.RUNNING) {
ImageIcon icon = new ImageIcon("processing.gif");
setIcon(icon);
} else if (action.getStatus() == Status.COMPLETED) {
ImageIcon icon = new ImageIcon("complete.png");
setIcon(icon);
} else if (action.getStatus() == Status.NOT_INITIALIZED) {
ImageIcon icon = new ImageIcon("stopped.png");
setIcon(icon);
} else if (action.getStatus() == Status.CANCELED) {
ImageIcon icon = new ImageIcon("canceled.png");
setIcon(icon);
}
return this;
}
}
porém nada acontece, o programa executa sem erros mas nao exibe as gifs. Não sei se essa solução esta correta, mas foi a unica que me apareceu..
adicionei os seguintes metodos na minha implementação da listcellrender (os metodos estao em branco mesmo):
public void validate() {
}
public void revalidate() {
}
protected void firePropertyChange(String propertyName, Object oldValue, Object newValue) {
}
public void firePropertyChange(String propertyName, boolean oldValue, boolean newValue) {
}
e a gif aparece, mas nao fica com animação, apenas fica piscando (aparece, desaparece, dali a pouco aparece denovo…)
estou precisando disso urgente, se alguem souber inserir gifs animadas em jlist me ajuda ai! valeu!