JList com Gif

6 respostas
P

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.

6 Respostas

R

teria como mostrar como está sua list?

P

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.

Marlon_Meneses

vc pode custumizar o listcellrender

http://www.apl.jhu.edu/~hall/java/Swing-Tutorial/Swing-Tutorial-JList.html

Marlon_Meneses

vc pode custumizar o listcellrender

http://www.apl.jhu.edu/~hall/java/Swing-Tutorial/Swing-Tutorial-JList.html

P

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..

P

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!

Criado 1 de julho de 2011
Ultima resposta 5 de jul. de 2011
Respostas 6
Participantes 3