Problema em Popular Jlist com Dados de ArrayList

5 respostas
A

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.

5 Respostas

davidbuzatto

Quando inicializar seu frame (no construtor) use o DefaultListModel para a lista

suaLista.setModel( new DefaultListModel() );

Agora para popular vc faz:

DefaultListModel modelo = ( DefaultListModel ) suaLista.getModel();

for ( int i = 0; i < suaArrayList.size(); i++ )
    modelo.addElement( suaArrayList.get( i ) );

Falow!

A

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.

ziegfried

sobrescreve o método toString() na classe ItemPed, retornando um String do jeito que vc quer q apareça na JList

davidbuzatto

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!

A

Pessoal muito obrigado pela ajuda.

O problema foi resolvido.

Abraços…

Criado 22 de abril de 2007
Ultima resposta 24 de abr. de 2007
Respostas 5
Participantes 3