Mini Curso - Programação de Interfaces Gráficas - aula 3

277 visualizações

Publicada em

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
277
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
23
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Mini Curso - Programação de Interfaces Gráficas - aula 3

  1. 1. Programação de Interfaces Gráficas Aula 3 Mini Curso INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TRIÂNGULO MINEIRO – Campus Avançado Uberlândia Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
  2. 2. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Objetivos Aula 3Objetivos Aula 3 • Conclusão do CRUD de fornecedor iniciado na aula 2.
  3. 3. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor –Tela de Fornecedor – model.domainmodel.domain • Adicione a classe Fornecedor, com os campos e métodos abaixo, adicionando construtores, get/set, equals/hashcode comparando por código e toString().
  4. 4. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor –Tela de Fornecedor – model.daomodel.dao • Crie uma classe chamada FornecedorDao, adicionando os métodos abaixo
  5. 5. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor –Tela de Fornecedor – model.controlmodel.control • Crie uma classe chamada FornecedorControl, adicionando os campos abaixo e get/set para todos os atributos, exceto FornecedorDao.
  6. 6. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor –Tela de Fornecedor – model.viewmodel.view • Em FornecedorView, deve-se adicionar uma referência ao FornecedorControl, com um método get
  7. 7. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor –Tela de Fornecedor – model.viewmodel.view • Antes de efetuar o bind dos componentes, renomeie o nome de todos eles, pois de agora em diante serão utilizados em métodos.
  8. 8. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor –Tela de Fornecedor – model.viewmodel.view • Efetue o bind (vincular) dos três campos de texto com os campos do objeto FornecedorDigitado dentro da classe FornecedorControl
  9. 9. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor –Tela de Fornecedor – model.viewmodel.view • Para a tabela, vincule a propriedade elements com o campo fornecedoresTabela
  10. 10. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor –Tela de Fornecedor – model.viewmodel.view • Na figura abaixo, os campos a serem mostrados à direita serão apresentados na tabela
  11. 11. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor –Tela de Fornecedor – model.viewmodel.view • Vincule a propriedade SelectedElement com o campo fornecedorSelecionado
  12. 12. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor –Tela de Fornecedor – model.viewmodel.view • Clique com o botão direito na tabela e clique em Table Contents (conteúdo da tabela), e ajuste o nome das colunas, tamanho, edição, etc...
  13. 13. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor –Tela de Fornecedor – model.viewmodel.view • Ao executar o projeto, os fornecedores serão mostrados na tabela.
  14. 14. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor –Tela de Fornecedor – model.viewmodel.view • Ao executar o projeto, os fornecedores serão mostrados na tabela.
  15. 15. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor –eventoTela de Fornecedor –evento salvarsalvar • Para adicionar um evento como salvar, a alteração é em “cascata”, ou seja, deve-se primeiro incluir o método em FornecedorDao, depois em FornecedorControl, e por último, adicionar o evento para o botão em FornecedorView
  16. 16. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor –eventoTela de Fornecedor –evento salvarsalvar • Serão adicionados os dois métodos abaixo em FornecedorDao, para deixar o salvar genérico para insert/update
  17. 17. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor –eventoTela de Fornecedor –evento salvarsalvar • Em FornecedorControl, deve-se adicionar o método abaixo, que irá salvar o fornecedor que foi digitado nos campos, e posteriormente atualizar a tabela.
  18. 18. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor –eventoTela de Fornecedor –evento salvarsalvar • Em FornecedorView, deve-se clicar duplo no botão de salvar, para que o evento seja criado.
  19. 19. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor –eventoTela de Fornecedor –evento salvarsalvar • Ao clicar em salvar, a mensagem é mostrada, contudo o fornecedor não aparece na tabela
  20. 20. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor –eventoTela de Fornecedor –evento salvarsalvar • O motivo se deve ao Beans Binding não estar atualizando a tabela. Para isso, deve- se incluir um “Observer” na tabela, ou seja, um listerner que irá ser notificado toda vez que a tabela for modificada; • A primeira linha do construtor de FornecedorControl deverá ser modificada.
  21. 21. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor –eventoTela de Fornecedor –evento salvarsalvar • Com essa atualização, o cliente será mostrado.
  22. 22. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor –eventoTela de Fornecedor –evento salvarsalvar • Ao salvar o Fornecedor, também é desejável limpar os campos. Um passo é limpar o objeto fornecedorDigitado como mostra a figura abaixo:
  23. 23. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor –eventoTela de Fornecedor –evento salvarsalvar • Contudo, ao salvar o fornecedor, o sistema não limpa os campos, como mostra a figura abaixo:
  24. 24. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor –eventoTela de Fornecedor –evento salvarsalvar • O problema está ligado ao fato que o objeto fornecedorDigitado recebe o que foi digitado nos textFields, contudo o inverso não ocorre, ou seja, os textFields não estão recebendo o que está no objeto fornecedorDigitado.
  25. 25. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor –eventoTela de Fornecedor –evento salvarsalvar • Para tal, deve-se alterar o fornecedorControl, nos pontos: • 1) Adicionar uma propriedade do Beans Binding para capturar os eventos; • 2) Adicionar dois métodos ao final da classe
  26. 26. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor –eventoTela de Fornecedor –evento salvarsalvar • 3) Alterar o método setFornecedorDigitado, para notificar os textFields assim que um novo fornecedor for setado.
  27. 27. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor –eventoTela de Fornecedor –evento salvarsalvar • Problema resolvido.
  28. 28. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor –eventoTela de Fornecedor –evento excluirexcluir • FornecedorDao: • FornecedorControl: • Evento do botão excluir em FornecedorView:
  29. 29. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor –eventoTela de Fornecedor –evento excluirexcluir • Ao digitar o código do fornecedor, e clicar no botão, o sistema exclui.
  30. 30. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br ReferênciasReferências • [1] – “Dominando NetBeans”; Edson Gonçalves; Editora Ciência Moderna, 2006; • [2] –“Swing + Beans Binding” – revista Java Magazine, ed. 70; • [3] – “Criando aplicações com MVC” – revista Java Magazine, ed. 83.

×