mini curso - programação de interfaces gráficas - aula 3

Post on 11-Jun-2015

112 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Programação de Interfaces Gráficas

Aula 3

Mini CursoINSTITUTO 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

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.

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().

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

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.

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

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.

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

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

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

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

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...

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.

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.

Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br

Tela de Fornecedor –Tela de Fornecedor –evento salvarevento salvar

• 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

Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br

Tela de Fornecedor –Tela de Fornecedor –evento salvarevento salvar

• Serão adicionados os dois métodos abaixo em FornecedorDao, para deixar o salvar genérico para insert/update

Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br

Tela de Fornecedor –Tela de Fornecedor –evento salvarevento salvar

• Em FornecedorControl, deve-se adicionar o método abaixo, que irá salvar o fornecedor que foi digitado nos campos, e posteriormente atualizar a tabela.

Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br

Tela de Fornecedor –Tela de Fornecedor –evento salvarevento salvar

• Em FornecedorView, deve-se clicar duplo no botão de salvar, para que o evento seja criado.

Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br

Tela de Fornecedor –Tela de Fornecedor –evento salvarevento salvar

• Ao clicar em salvar, a mensagem é mostrada, contudo o fornecedor não aparece na tabela

Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br

Tela de Fornecedor –Tela de Fornecedor –evento salvarevento salvar

• 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.

Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br

Tela de Fornecedor –Tela de Fornecedor –evento salvarevento salvar

• Com essa atualização, o cliente será mostrado.

Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br

Tela de Fornecedor –Tela de Fornecedor –evento salvarevento salvar

• Ao salvar o Fornecedor, também é desejável limpar os campos. Um passo é limpar o objeto fornecedorDigitado como mostra a figura abaixo:

Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br

Tela de Fornecedor –Tela de Fornecedor –evento salvarevento salvar

• Contudo, ao salvar o fornecedor, o sistema não limpa os campos, como mostra a figura abaixo:

Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br

Tela de Fornecedor –Tela de Fornecedor –evento salvarevento salvar

• 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.

Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br

Tela de Fornecedor –Tela de Fornecedor –evento salvarevento salvar

• 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

Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br

Tela de Fornecedor –Tela de Fornecedor –evento salvarevento salvar

• 3) Alterar o método setFornecedorDigitado, para notificar os textFields assim que um novo fornecedor for setado.

Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br

Tela de Fornecedor –Tela de Fornecedor –evento salvarevento salvar

• Problema resolvido.

Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br

Tela de Fornecedor –Tela de Fornecedor –evento excluirevento excluir

• FornecedorDao:

• FornecedorControl:

• Evento do botão excluir em FornecedorView:

Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.brProf Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br

Tela de Fornecedor –Tela de Fornecedor –evento excluirevento excluir

• Ao digitar o código do fornecedor, e clicar no botão, o sistema exclui.

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.

top related