Preencher uma JComboBox com ArrayList<String>

6 respostas
M
Eu tenho essa seguinte classe
mport java.util.ArrayList;
import javax.swing.JComboBox;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author aluno
 */
public class clsCliente {
    
    private ArrayList<String> Nome = new ArrayList<String>();
    
    private ArrayList<String> telefone= new ArrayList<String>();
    
    private ArrayList<String> placa= new ArrayList<String>();
    
    private ArrayList<String> modelo= new ArrayList<String>();
    
    private ArrayList<String> tp_veiculo= new ArrayList<String>();
    
    private ArrayList<String> marca= new ArrayList<String>();
    
    private ArrayList<String> ano= new ArrayList<String>();
    
    private ArrayList<String> dtCadastro = new ArrayList<String>();
    
    public void encheComboBox(JComboBox cmb)
    {
        String str;
        
        for (int i = 0; i < this.Nome.size(); i++) 
        {            
            if("".equals(this.Nome.get(i)))
            {
                str = "Nenhum cliente cadastrado.";
                
                cmb.add(str, cmb);
                break;
            }
            else
            {
                str = (String) this.Nome.get(i).toString();
                
                cmb.add(str, cmb);
            }
        }
    }

O problema que o metodo da encheComboBox não está preenchendo, alguém tem alguma dica de como eu possa está resolvendo isso?

6 Respostas

B

Como ele vai preencher se o ArrayList Nome está vazio?

Por acaso, por favor, não faça isso de criar N listas cada uma com um campo diferente.

Crie uma classe Cliente, coloque atributos de nome, telefone, placa, etc dentro dela, e depois trabalhe com uma List.

M

O ArrayList já está preenchido, ele é preenchido anteriormente porém quando vai verificar o que tem nele, não volta nada.

Dark_Stalker

Concordo com o que o Bruno falou, esse seria o modo mais correto de se trabalhar, pois vc tem todas as informacoes e daí trabalha com a que vc quer. Uma alternativa seria trabalhar com o SWING e utilizar esse codigo para adicionar no combobox nos codigos de pos-criacao.

M

Então infelizmente eu não compreendi muito bem o que quiseram dizer exatamente.

Podem explicar um pouco melhor, eu já programava anteriormente mas eram linguagens antigas não mais utilizadas hoje em dia e estou batendo a cabeça no java devido o ambiente ser totalmente diferente.

Obrigado pela ajuda galera.

rnldfll

Se eu estiver errado me falem, mas essa parte do codigo não seria assim?

if(this.Nome.get(i) == null)
            {  
                str = "Nenhum cliente cadastrado.";  
                  
                cmb.add(str, cmb);  
                break;  
            }
A

O que o Bruno disse citou, é o bom modo de trabalhar com uma aplicacao em Java.

Resumindo, tenha uma classe para Cliente

public class Cliente {


private String Nome;
private String telefone;
private String placa;
private String modelo;
...
//get e sets para os atributos da classe
}

Tenha uma classe AppCliente //aplicacao para Cliente

public class AppCliente  {

List <Cliente> clientes = new ArrayList<Cliente>();

...

//sua combobox... para a List cliente

}
Criado 20 de março de 2013
Ultima resposta 21 de mar. de 2013
Respostas 6
Participantes 5