[RESOLVIDO] Duvidas em carregar Combox com List<Cliente>
13 respostas
rafaelshock
bom dia galera, estou acompanhando um curso onde o maluco faz a seguinte coisa...
privatevoidloadInitialComboData(){//TheTypeComboDefaultComboBoxModelcbm=newDefaultComboBoxModel(AnimalType.values());cmbType.setModel(cbm);//TheOwnerCombotry{CustomerDAOcustomerDAO=newCustomerDAO();Vector<Customer>customers=newVector<Customer>(customerDAO.getAllCustomers());DefaultComboBoxModelcbmCustomer=newDefaultComboBoxModel(customers);cmbOwner.setModel(cbmCustomer);}catch(Exceptione){e.printStackTrace();JOptionPane.showMessageDialog(this,"Error loading the owners list");}}
mas o meu não consigo completar...
privatevoidcarregarcombox(){//carregar os tipos de animais DefaultComboBoxModelcbm=newDefaultComboBoxModel(TipoAnimal.values());cbtipo.setModel(cbm);//carregar os clientes try{ClienteDAOclienteDAO=newClienteDAO();Vector<Cliente>cliente=newVector<Cliente>(Cliente// não consigo chamar meu metodo Listar() aqui... da erroDefaultComboBoxModelcbmcliente=newDefaultComboBoxModel(cliente);cbcliente.setModel(cbmcliente);}catch(Exceptione){e.printStackTrace();JOptionPane.showMessageDialog(this,"Erro ao carregar a lista de proprietários");}}
try{ClienteDAOclienteDAO=newClienteDAO();List<Cliente>lista=clienteDAO.listar();DefaultComboBoxModelcbmcliente=newDefaultComboBoxModel();cbcliente.setModel(cbmcliente);}catch(Exceptione){e.printStackTrace();JOptionPane.showMessageDialog(this,"Erro ao carregar a lista de proprietários");}}
tipo no combox da tela estava escrito item1, item2 ma depois desse codigo fico tudo em branco!
michetti
Não se esqueça de usar este comando : jCBHorario.removeAllItems();
Neste código que você postou você somente setou qual modelo seu combobox vai usar. Para adicionar os valores no ComboBox use:
jCBHorario.removeAllItems();
ClienteDAO clienteDAO = new ClienteDAO();
List<Cliente> lista = clienteDAO.listar();
DefaultComboBoxModel cbmcliente = new DefaultComboBoxModel();
for ( Cliente cliente : lista ) {
cbmcliente .addElement( cliente.getCliente());
cbcliente.setModel(cbmcliente);
rafaelshock
estou com esses problemas ainda…
getCliente da erro, ai aparece os campos por exemplo getCodigo_cliente, getNome_cliente e etc…
e o jCBHorario.removeAllItems(); está com erro, de onde ele vem?
michetti
jCBHorario.removeAllItems(); onde esta jCBHorario você deve colocar o nome da variável do seu Combobox.
cliente.getCliente() é assim… cliente é uma variável do tipo Cliente, e o getCliente são os metodos get e set da classe onde você cria os get e set…
rafaelshock
então fiz assim…
try{cbcliente.removeAllItems();ClienteDAOclienteDAO=newClienteDAO();List<Cliente>lista=clienteDAO.listar();DefaultComboBoxModelcbmcliente=newDefaultComboBoxModel();for(Clientecliente:lista){cbmcliente.addElement(cliente.getClass());cbcliente.setModel(cbmcliente);}}catch(Exceptione){e.printStackTrace();JOptionPane.showMessageDialog(this,"Erro ao carregar a lista de proprietários");}
só que ai aparece assim…
no combox br.com.banhotosa.model.cliente
ai no curso do cara aqui ele pede para quando acontecer isso fazer isso aqui
@Override
public String toString() {
return getNome();
}
mas não funcionou não!
Roselito_Favero_da_S
Não entendo muito de ComboBoxModel, mas comparando os códigos, acho que você deveria usar: