privatevoidPrencheJComboBoxCliente(){VectorvetorComboCliente=newVector();ClienteDaoclienteD=newClienteDao();List<Cliente>lista=clienteD.listar(campo_pra_pesquisaNome.getText());//aqui pega o campo por parametro pra pesquizajComboBox.removeAllItems();for(Clientecliente:lista){JComboBoxClienteComboBoxCliente=newJComboBoxCliente(cliente.getid_Cliente(),cliente.getNome_Cliente());vetorComboCliente.add(ComboBoxCliente);modelocCliente=newDefaultComboBoxModel(vetorComboCliente);jComboBox.setModel(modelocCliente);}eparausareleObjectobj3=jComboBox.getSelectedItem();intvalor=0;valor=Integer.parseInt(String.valueOf(((JComboBoxCliente)obj3).getid_cliente()));
tenho um jcombobox carregado pelo banco com nome do cliente quando eu clico no nome do cliente pego o codigo do cliente que foi carregado para o vector funciona bem porem quando vou criar o .jar
aparece oseguinte
C:\teste\src\apresentacao\ConsultarCliente.java:879: warning: [unchecked] unchecked call to add(E) as a member of the raw type java.util.Vector
bem aqui vetorComboCliente.add(ComboBoxCliente);
Cara, tente sempre “tipar” quando trabalhar com Collection Framework, dessa forma faça o seguinte: Vector vetorComboCliente = new Vector();
pois dessa voce nao se preocupara com cast quando recuperar um elemento desse Vector!
Abracao
F
fanama
Procure usar um ArrayList ao invés do VECTOR.
Soube que o VECTOR está para morrer!!! Se já não morreu!!! rs
Caras, o problema é que todos os metodos de Vector sao synchronized, assim, teremos perda de performance por causa da concorrencia, porem eu nao sei quantificar essa perda e se souberem escrevam…srs! Creio que um ArrayList vai sazer o seu servico!!
Abracao
fabiodurgante
seguinte meu fazendo isso que voce me disse nao da mais erro porem pega o id errado do cliente
chamo ele assim
Object obj3 = jComboBox.getSelectedItem();
Outra coisa, para voce ver se sua lista contem os elementos que deveria voce pode fazer algo assim:
List<Cliente>lista=clienteD.listar(campo_pra_pesquisaNome.getText());for(Clientecliente:lista)//esseforvaiimprimirosidsdosclientesdalistaSystem.out.println("id do cliente: "+cliente.getid_Cliente());
abracao
lina
fabiodurgante:
privatevoidPrencheJComboBoxCliente(){VectorvetorComboCliente=newVector();ClienteDaoclienteD=newClienteDao();List<Cliente>lista=clienteD.listar(campo_pra_pesquisaNome.getText());//aqui pega o campo por parametro pra pesquizajComboBox.removeAllItems();for(Clientecliente:lista){JComboBoxClienteComboBoxCliente=newJComboBoxCliente(cliente.getid_Cliente(),cliente.getNome_Cliente());vetorComboCliente.add(ComboBoxCliente);modelocCliente=newDefaultComboBoxModel(vetorComboCliente);jComboBox.setModel(modelocCliente);}eparausareleObjectobj3=jComboBox.getSelectedItem();intvalor=0;valor=Integer.parseInt(String.valueOf(((JComboBoxCliente)obj3).getid_cliente()));
tenho um jcombobox carregado pelo banco com nome do cliente quando eu clico no nome do cliente pego o codigo do cliente que foi carregado para o vector funciona bem porem quando vou criar o .jar
aparece oseguinte
C:\teste\src\apresentacao\ConsultarCliente.java:879: warning: [unchecked] unchecked call to add(E) as a member of the raw type java.util.Vector
bem aqui vetorComboCliente.add(ComboBoxCliente);
alguem saberia o porque disso ??????
Oi,
Só detalhando o que amigo falou...
Esse warning que foi executado pelo compilador se dá ao uso de Generics. Toda a codificação que não faz uso de Generics apresenta isto.
Sendo assim, você precisa especificar (em modo de compilação) qual o tipo de objetos que vai ter na sua collection. Quando especificado (em sua coleção), só vai ser permitido adicionar objetos da classe especificada.
Acredito que isso é bom para a segurança da codificação, além de evitar o uso do cast em possiveis situações.
O que você devera fazer é passar a utilizar está ideia de Generics em seu código, conforme nosso colega falou acima.
fabiodurgante
bah meu tranquilo so que eu tenho mais o seguinte uma classe
que salva o nome e o id e agora nao ta dando certo nao
fabiodurgante
achei furo da coisa o DefaultComboBoxModel nao constroi com list ou array list somente com vector ou vetor de objetos se tivesse um list teria que fazer o seguinte