estou fazendo uma tela de alteração de cadastro ligada ao mysql,
a tela de alteração contém os mesmo itens da de cadastro,
só que com os valor implementados do BD.
por exemplo: jTextField1.setText(model.getNome());
eu tenho uma JComboBox com os itens “Masculino” e “Feminino”,
que no caso eu não consigo fazer o combobox selecionar o valor que o BD retorna.
meu código tá assim: jComboBox1.setSelectedItem(model.getSexo());
e mesmo assim não está selecionando o certo.
Qual é o retorno do método model.getSexo() uma String ?
mande tambem como vc monta o seu JComboBox
Abraço!
L
lucasgarofolo
sim, o valor que ta retornando é String e o combobox eu fiz no netbeans.
os itens são 3, sexo, pra mostrar a que diz aquele combobox, masculino e feminino.
P
pgioseffi
Prezado lucasgarofolo,
Provável que seu erro esteja entre uma das duas opções abaixo:
1 - Você adiciona no seu JComboBox “Masculino”, mas seu banco retorna “masculino”, daí você terá que manipular o retorno do banco; ou
2 - Você adiciona no seu JComboBox “Masculino”, mas seu banco retorna "Masculino " (perceba o espaço no fim da String, que pode ocorrer antes), nesse caso é só usar o método java.lang.String#trim() que irá resolver seu problema.
Para testar isso, pegue seu retorno e compare com a lista de opções do seu JComboBox e veja se você acha igualdade em algum deles, como sua lista é pequena, você vai pegar o erro logo.
L
lucasgarofolo
Obrigado, pgioseffi, pela atenção.
Eu testei, revi o código escrito, o retorno e até no bdserver,
Mas acredito eu, que não tem como ser diferente, pois a combobox da janela de alterar é ctrl + v da janela de cadastro.
e o envio ao banco, nao está alterando em nada.
ainda estou na tentativa,
obrigado.
P
pgioseffi
Então sugiro vc realmente mandar o código de como vc monta seu JComboBox e a assinatura do seu método getSexo().
acho que um código normal feito pelo netBeans.
não precisa nenhuma conversão ?
obrigado
P
pgioseffi
Esse código parece estar OK, batendo a olho nu.
Continuo achando que o problema está no retorno do seu método getSexo().
Eu se fosse você, somente para teste trocaria a linha
pelas linhas:
final String sexo = model.getSexo(); // Estou assumindo que o retorno é String.
jComboBox1.setSelectedItem(sexo);
Colocaria um breakpoint na linha da instanciação da variável sexo, passaria por ela e daria uma inspecionada no valor que ela vem carregando, continuo apostando que ela está com um valor como “masculino” ou "Masculino ".
L
lucasgarofolo
troquei as linhas pela que você me passou, pgioseffi, e o erro persiste.
eu fiz uma simples coisa aqui, pra te mostrar que o valor que está sendo setado no setNome() está como no combobox, com maiuscula e sem espaços.
olhe:
e a saída foi essa:
[TopLink Info]: 2011.05.17 06:26:34.342–ServerSession(18916478 ) --file:/C:/Users/Administrador/Documents/NetBeansProjects/AAP/build/classes/-aapPU login successful MasculinoCentro
amigo pgioseffi, você poderia me dizer o que workaround ?
e como que eu faço pra editar o código no netbeans ?
P
pgioseffi
Lucas,
Workaround é uma solução alternativa. Que precisa levar mais estudo para ser definida se é ou não a ideal. Atende a necessidade, mas pode não ser a melhor forma de implementação.
Agora como vc faz pra editar código no NetBeans? Não entendi bem a sua pergunta… Vc já não vem editando o código-fonte das suas classes? É a mesma coisa que vc já vem fazendo.
Se ainda assim, vc estiver perdido em como implementar o código que eu postei, anexe sua classe aqui, que eu implemento e te mando ela de volta novamente.
L
lucasgarofolo
acho que é essa,
eu perguntei do netbeans, porque o código gerado pela criação arrastando e soltando os componentes,
não tem como mudar o código, só nas propriedades.
mas segue ( eu acho) a classe.
obrigado pela atenção nooooovamente.
P
pgioseffi
Lucas,
Você me enviou o código compilado. Eu preciso do código-fonte, o arquivo com extensão .java
Procurei saber aqui com a rapaziada do trabalho e entendi seu problema, existe uma configuração no NetBeans que te permite alterar o fonte, mas por padrão ela está desabilitada.
Infelizmente, ngm aqui soube responder onde muda essa configuração. Vai nos foruns do NetBeans e pergunta.
L
lucasgarofolo
perdão, pgioseffi, confundi os arquivos.
mas entendi como é, nao é nenhuma conversão, não ? é problema na criação do combobox ?
agora sim o arquivo certo.
P
pgioseffi
Ainda não sei o problema, vou colocar o código aqui, te enviar pra vc testar e ver se funciona.
L
lucasgarofolo
ok, muito obrigado, pgioseffi !
P
pgioseffi
Lucas,
Tá aí o código modificado.
Algumas dicas pra vc:
1- Nome de classes não segue o padrão de nome de métodos, então inicie o nome da sua classe com letra maiúscula.
2- Use os imports para deixar seu código mais limpo. É muito melhor ler:
Do que ler:
3- A camada de persistência de dados é DAO e não ADO.
Não analisei o código todo, até pq estou no trabalho, pega isso que te mandei e vê se roda agora seu sistema.
L
lucasgarofolo
Eu coloquei os código, mas não adiantou, deu um monte de conflito aqui ainda, criou um monte de classe que eu já tinha só que com nome diferente,
ainda estou na busca pela solução.
e pgioseffi, muito obrigado, companheiro, se voce sacar mais alguma coisa, pode me falar.
P
pgioseffi
Cara,
O ideal era vc descobrir como o NetBeans te deixa editar o código-fonte, ou então editar na mão mesmo com o bloco de notas, adicionando só aquelas linhas de código que eu te passei.
Meu Eclipse aqui no trabalho e bem automatizado e faz modificações no código. Se vc perceber, vc me mandou uma classe de 11KB, eu adicionei 17 linhas e, de repente, sua classe chegou a 92 KB.
Pesquise como editar o fonte no NetBeans ou mude na mão mesmo, não é difícil. Depois teste no NetBeans novamente.
L
lucasgarofolo
Se alguém quiser saber como resolvi, me avisem aqui ou por MP,
é tranquilo pra caramba.
abçs
P
pgioseffi
Coloca o código aqui pra rapaziada ver…
V
Vitoriano
lucasgarofolo:
Se alguém quiser saber como resolvi, me avisem aqui ou por MP,
é tranquilo pra caramba.
abçs
Se tiver como passar o código abaixo, estou passando pela mesma situação…
E se descobriu como libera edição do NetBeans também, me fale por favor, pois estou usando ainda ele… Mas migrando para o NetBeans.