Boa tarde,
Primeiro gostaria de parabenizar pelas informações extremanente importantes que todos os dias conseguimos encontrar neste fórum.
Pessoal infelizmente procurei nos dados do forum e não consegui encontrar e tirar a minha dúvida em relação ao Jlist.
Estou tentando popular meu JList com dados de um ArrayList.
Segue abaixo meu método:
public void Adiciona_LIsta(ItemPedido ped)
{
ArrayList<ItemPedido> itemp = new ArrayList<ItemPedido>();
itemp.add(ped);
Iterator<ItemPedido> it = itemp.iterator();
while(it.hasNext())
{
//Neste Momento não consigo jogar os dados no Jlist.
//System.out.println(it.next());
//System.out.println(it.next().getQtdItem());
//System.out.println(it.next().getValorItem());
}
}
Agradeço muito a ajuda.
Quando inicializar seu frame (no construtor) use o DefaultListModel para a lista
suaLista.setModel( new DefaultListModel() );
Agora para popular vc faz:
[code]
DefaultListModel modelo = ( DefaultListModel ) suaLista.getModel();
for ( int i = 0; i < suaArrayList.size(); i++ )
modelo.addElement( suaArrayList.get( i ) );[/code]
Falow!
David em primeiro lugar gostaria de agradecer imensamente a sua ajuda neste tópico.
Deixa te dizer, fazendo desta maneira estou tendo um problema: estou recebendo somente o código do objeto que foi instanciado(espero).
Tipo:
Retorno na JList == domain.ItemPed@1e55a
Acho que pode ser algo no momento em que estou adicionando na minha Arraylist Ex:
Tenho um método somente para me retornar o objeto ItemPedido com os seguintes parâmetros:
ItemPedido(Produto pd,Integer quantidade,BigDecimal valor)
Este construtor me ajuda a pegar este objeto e repassá-lo para a JList.
public ItemPed getItemPedido()
{
ItemPed resultado;
Integer aux;
BigDecimal aux1;
Produto pd = new Produto((String) getComboproduto().getSelectedItem());
aux1 = Busca_Preco();
aux = Integer.parseInt(getTextquant().getText());
resultado = new ItemPed(pd,aux,aux1);
return resultado;
}
Então o meu método que Popula a JList, recebe um Parâmetro do tipo ItemPedido e daí por diante realizo as iterações que você me repassou, mas está dando o mesmo problema.
Muito Obrigado pela sua atenção.
sobrescreve o método toString() na classe ItemPed, retornando um String do jeito que vc quer q apareça na JList
Como o colega acima citou, sobrescreve o método
public String toString()
na classe que está sendo adicionada na lista. O toString deve retornar uma String que represente o objeto da classe em questão. Os componentes Swing utilizam o toString para “exibir” o objeto. O método toString é muito útil, pois sempre quando vc for exibir um objeto, o método é utilizado pela máquina virtual. Esse domain.ItemPed@1e55a exibe a representação padrão do objeto (herdado pelo método toString de Objetc)
Falow!
Pessoal muito obrigado pela ajuda.
O problema foi resolvido.
Abraços…