eu to usando um JList e como conteudo dele eu to usando um DefaultListModel só q eu quero q os itens do DefaultListModel sejam uma classa q eu criei e quero q o JList mostre uma certa variavel q tah dentro da classe q eu criei…
como q eu faço isso???
DefaultListModel
L
2 Respostas
B
Ola
Cria uma classe, que estenda javax.swing.DefaultListCellRenderer, sobrescreva o metodo getListCellRendererComponent, e o faca indenter a sua classe e setar o valor correto no setText, +/- assim:class A{
private String str;
...
}
class Renderer extends DefaultListCellRenderer{
public Component getListCellRendererComponent(JList list,
Object value,
int index,
boolean isSelected,
boolean cellHasFocus)
A a = (A) value;
setText(a.getStr());
setOpaque(true)
setBackground(isSelected? list.getSelectionBackground() : list.getBackground());
setForeground(isSelected? list.getSelectionForeground() : list.getForeground());
return this;
}
}
L
cara brigado pela ajuda mas eu num intendi mto bem, não consegui usar isso no meu programa e tenho umas perguntas a fazer:
eu preciso criar uma outra classe para ser extends DefaultListCellRenderer ow a minha própria classe pode ser extends DefaultListCellRenderer???
eu não intendi tb essa linha do codigo:
A a = (A) value;
oq ela faz???
e oq significa cada um dos parametros q são passados para getListCellRendererComponent???
Criado 31 de agosto de 2006
Ultima resposta 1 de set. de 2006
Respostas 2
Participantes 2
Alura POO: o que é programação orientada a objetos? Aprenda os conceitos básicos da programação orientada a objetos, como classes, objetos, herança, encapsulamento e polimorfismo, com exemplos.
Casa do Codigo Inteligencia Artificial e ChatGPT: Da revolucao dos... Por Fabricio Carraro — Casa do Codigo