| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/09/2008 09:34:11
|
fgsl
Entusiasta Java
![[Avatar]](/images/avatar/4ba9c4cbc9d4bc70794e3ba598e0ece6.jpg)
Membro desde: 10/09/2008 09:12:55
Mensagens: 23
Localização: *
Offline
|
Estou fazendo uma aplicação Swing para testar uma camada de acesso a banco de dados.
Tenho um cadastro de funcionários, que é uma tabela relacionada com diversas outras, referentes a localização do funcionário na hierarquia da empresa.
Então imaginei duas telas. A primeira mostra a lista de funcionários em um grid e tem botões pra incluir, alterar e excluir funcionários. Ok, essa parte está funcionando. Comecei então a implementar o tratamento dos eventos. Comecei com a exclusão que sempre é mais fácil. Deu certo. Agora parti para a inclusão.
Ao clicar no botão incluir, é construído um formulário com o seguinte método:
Antes que perguntem, eu criei o método getGBC() pra retornar um objeto GridBagConstraints já configurado:
Bem, a tela acima é apresentada, normalmente. Como podem notar, há um botão gravar. Ele invoca o ActionPerformed. Eu colocarei abaixo só até o trecho onde o problema começa:
Quando o botão gravar é pressionado, o ActionPerformed entra no case GRAVAR. Minha idéia e jogar os componentes visuais em uma matriz e em um loop, gravá-los no objeto POJO correspondente, usando a API de Reflection. Eu não quero ter que fazer a chamada dos métodos set um por um. Se o campo visual já contém o nome do atributo, posso montar o nome do método e chamar.
Só que quando eu debuguei o conteúdo de componentes, que são JLabels, JTextFields e JComboBox, o getText() dos dois últimos não retorna nada! Por que o valor que eu digitei na tela foi ignorado?
This message was edited 1 time. Last update was at 10/09/2008 15:18:50
|
Flávio Gomes da Silva Lisboa
Analista de Desenvolvimento de Sistemas |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/09/2008 07:41:18
|
fgsl
Entusiasta Java
![[Avatar]](/images/avatar/4ba9c4cbc9d4bc70794e3ba598e0ece6.jpg)
Membro desde: 10/09/2008 09:12:55
Mensagens: 23
Localização: *
Offline
|
Bem, como não houve resposta, eu resolvi o problema de outra forma.
Criei dois atributos privados, um List para JTextFields e um para JTextCombos.
Eliminei o atributo janelaAtual.
Assim, conforme vou criando os elementos visuais, vou armazenando os campos editáveis nos Lists, e aí recupero direto. Isso reduziu o código inclusive.
|
Flávio Gomes da Silva Lisboa
Analista de Desenvolvimento de Sistemas |
|
|
 |
|
|
|
|