Preencher JComboBox atraves de um metodo que retorna arrayList

10 respostas
E

Tenho um método em outra classe, o nome é Carro, que retorna um arrayList: return carros;

public static List listaCarros() {

Seria assim:

jComboBox1 = new JComboBox(Carro.listaCarros());

10 Respostas

ViniGodoy

Infelizmente, o ComboBox trabalha apenas com as coleções antigas, do Java 1.2. Nesse caso, você tem duas saídas:

  1. Ser chato e implementar um ComboBoxModel que use lists (eu fiz isso);
  2. Copiar o conteúdo da sua lista para um Vector.

No segundo caso, ficaria assim:

jComboBox1 = new JComboBox(new Vector<Carro>(Carro.listaCarros()));
E

Amigo, valeu, mas ainda não deu certo, fica com erro, o netbeans não deixou eu fazer isso que você falou, mas valeu!

M

implementa um ComboBoxModel que resolve :slight_smile:

E

O problema é o seguinte:

O método que vai me retornar um arrayList, que quero listar no jComboBox, esta em outra classe, esse é o problema, não sei como fazer.

ViniGodoy

Que erro deu? Sem falar fica muito difícil.

E
Cannot find symbol

symbol: constructor Vector(java.util.List<java.lang.String>)

location class java.util.Vector<veiculo.Carro>

fica uma linha vermelha em baixo do Vector: …(new Vector(Carro…

sobre a sua opção nº 2

ViniGodoy

No início do seu programa, você deve fazer:

import java.util.Vector;

E

Sim, a importação esta sendo feita mas o erro persiste.

ViniGodoy

Ops, deve ser pq era para ser um Vector não um Vector

jComboBox1 = new JComboBox(new Vector<String>(Carro.listaCarros()));
S

eu queria deixar esse código, pq eu achei mais simples dessa forma

ArrayList array = new metodoQueRetornaOArray;

        String str = null;

        for(int i = 0;i<array.size(); i++ ){

            str = (String) array.get(i).toString();
            SeuJCombombox.addItem(str);
        }
Criado 2 de outubro de 2009
Ultima resposta 8 de dez. de 2010
Respostas 10
Participantes 4