SlideShare uma empresa Scribd logo
1 de 37
Baixar para ler offline
Programação de Interfaces
Gráficas
Aula 4
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.br
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Objetivos Aula 4
• Conclusão do CRUD de fornecedor
iniciado na aula 2;
• Criação do CRUD Produto;
• Distribuição do sistema com Java Web
Start.
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Tela de Fornecedor –
selecionar Fornecedor
• Quando se seleciona um fornecedor, o
objeto fornecedorSelecionadoTabela é
populado, contudo desejamos que os
textfields sejam populados com os dados
deste fornecedor. Para isso, deve-se alterar
o método abaixo em FornecedorControl
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Tela de Fornecedor –
selecionar Fornecedor
• Com isso, o sistema irá atualizar
automaticamente os campos, facilitando
inclusive a exclusão e a atualização.
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Tela de Fornecedor –
selecionar Fornecedor
• Repare que, quando o cliente possui
CNPJ, o sistema não está mostrando, pois
a máscara está para o campo CPF
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Tela de Fornecedor –
selecionar Fornecedor
• O evento que altera a máscara é o
chkPessoaJuridicaItemStateChanged;
• Com isso, é necessário alterar o
preenchimento do checkbox;
• 1) Adicione um novo atributo na classe
Fornecedor, com get/set
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Tela de Fornecedor –
selecionar Fornecedor
• 2) Adicione a linha abaixo na classe
Fornecedor
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Tela de Fornecedor –
selecionar Fornecedor
• 3) Vincule a seleção do checkbox com o
método que você acabou de criar em
Fornecedor
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Tela de Fornecedor –
selecionar Fornecedor
• 4) Retire a linha com o código setValue(“”)
do evento
chkPessoaJuridicaItemStateChanged, e
crie um novo evento de clique no
checkbox, com o código abaixo:
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Tela de Fornecedor –
selecionar Fornecedor
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Tela de Fornecedor – evento
novo
• Seria interessante adicionar um evento
para o botão novo, para limpar os campos.
• FornecedorControl –
• Evento do botão novo em
FornecedorView
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Tela de Fornecedor – lidando
com exceções
• Crie um novo pacote chamado
util.exception, e dentro dele crie uma
classe chamada CrudException
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Tela de Fornecedor – lidando
com exceções
• Altere os métodos excluir
• FornecedorDao:
• FornecedorControl:
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Tela de Fornecedor – lidando
com exceções
• FornecedorView:
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Tela de Fornecedor – lidando
com exceções
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Tela de Fornecedor –
pesquisando fornecedores
• 1) Deve-se criar um método de pesquisar
em FornecedorDao e excluir o
“getFornecedores()”
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Tela de Fornecedor –
pesquisando fornecedores
• 2) Deve-se criar o método pesquisar em
FornecedorControl e alterar os demais
métodos para chamar este
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Tela de Fornecedor –
pesquisando fornecedores
• 3) Por fim, deve-se adicionar o evento do
botão pesquisar em FornecedorView.
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Tela de Produto – desafios
• Em uma outra tela, como Produto, o
desafio está em se relacionar com outros
objetos, como por exemplo Fornecedor
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Tela de Produto – desafios
• 1) Classe Produto – domain
• 2) ProdutoDao
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Tela de Produto – desafios
• 1) Classe Produto – domain
• 2) ProdutoDao
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Tela de Produto – desafios
• 3) Classe ProdutoControl – repare que esta
precisou da lista de fornecedores para
popular o combo que está no view
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Tela de Produto – desafios
• 4) Em produtoView, no combobox é
necessário vincular a lista de fornecedores
e o fornecedor selecionado
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Tela de Produto – desafios
• Para não mostrar um texto enorme, é
necessário alterar o toString() de
Fornecedor.
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Tela de Produto – desafios
• De
• Para
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Java Web Start
• Facilita as atualizações automáticas nas
máquinas clientes.
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Java Web Start
• Para distribuir a aplicação, nas
propriedades do projeto, deve-se ativar a
web start
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Java Web Start
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Java Web Start
• Em assinatura, coloque auto-assinado
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Java Web Start
• Ao limpar e construir o projeto, na pasta
dist será criado um arquivo chamado
launch.jnlp
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Java Web Start
• Copie todos os arquivos, para um
diretório dentro da pasta WebApps do
Tomcat
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Java Web Start
• Edite o arquivo conf/web.xml do tomcat
para permitir visualizar conteúdo dentro
do diretório
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Java Web Start
• Ao subir o tomcat, os arquivos abaixo
deverão estar disponíveis
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Java Web Start
Ao abrir o arquivo, o Java Web Start irá
instalar o aplicativo
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Java Web Start
Digitando javaws –viewer, é possível
visualizar a aplicação, criar atalho, etc..
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Java Web Start
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Referê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.

Mais conteúdo relacionado

Destaque

Programação Orientada a Objetos - Pós Graduação - Aula 5 - refactoring com ho...
Programação Orientada a Objetos - Pós Graduação - Aula 5 - refactoring com ho...Programação Orientada a Objetos - Pós Graduação - Aula 5 - refactoring com ho...
Programação Orientada a Objetos - Pós Graduação - Aula 5 - refactoring com ho...Carlos Eduardo
 
Mini Curso - Programação de Interfaces Gráficas - aula extra persistência
Mini Curso - Programação de Interfaces Gráficas - aula extra persistênciaMini Curso - Programação de Interfaces Gráficas - aula extra persistência
Mini Curso - Programação de Interfaces Gráficas - aula extra persistênciaCarlos Eduardo
 
Mini Curso - Programação de Interfaces Gráficas - aula 2
Mini Curso - Programação de Interfaces Gráficas - aula 2Mini Curso - Programação de Interfaces Gráficas - aula 2
Mini Curso - Programação de Interfaces Gráficas - aula 2Carlos Eduardo
 
Programação Orientada a Objetos - Pós Graduação - Aula 4 - refactoring com ho...
Programação Orientada a Objetos - Pós Graduação - Aula 4 - refactoring com ho...Programação Orientada a Objetos - Pós Graduação - Aula 4 - refactoring com ho...
Programação Orientada a Objetos - Pós Graduação - Aula 4 - refactoring com ho...Carlos Eduardo
 
Apresentação wxWidgets
Apresentação wxWidgetsApresentação wxWidgets
Apresentação wxWidgetsRenzo Petri
 
Aula de Algoritmos II - Turma 222
Aula de Algoritmos II - Turma 222Aula de Algoritmos II - Turma 222
Aula de Algoritmos II - Turma 222Bianca Dantas
 
Algoritmos Genéticos Aplicados ao Problema da Mochila Multidimensional
Algoritmos Genéticos Aplicados ao Problema da Mochila MultidimensionalAlgoritmos Genéticos Aplicados ao Problema da Mochila Multidimensional
Algoritmos Genéticos Aplicados ao Problema da Mochila MultidimensionalBianca Dantas
 
Programação Orientada a Objetos - Pós Graduação - aula 1
Programação Orientada a Objetos - Pós Graduação - aula 1Programação Orientada a Objetos - Pós Graduação - aula 1
Programação Orientada a Objetos - Pós Graduação - aula 1Carlos Eduardo
 
Aula sobre multithreading
Aula sobre multithreadingAula sobre multithreading
Aula sobre multithreadingBianca Dantas
 
Programação Orientada a Objetos - Pós Graduação - Aula 3
Programação Orientada a Objetos - Pós Graduação - Aula 3Programação Orientada a Objetos - Pós Graduação - Aula 3
Programação Orientada a Objetos - Pós Graduação - Aula 3Carlos Eduardo
 
Java 08 Modificadores Acesso E Membros De Classe
Java 08 Modificadores Acesso E Membros De ClasseJava 08 Modificadores Acesso E Membros De Classe
Java 08 Modificadores Acesso E Membros De ClasseRegis Magalhães
 
Exercicios - Java Swing Listeners
Exercicios - Java Swing ListenersExercicios - Java Swing Listeners
Exercicios - Java Swing ListenersDaniel Arndt Alves
 
Projeto calculadora em_java
Projeto calculadora em_javaProjeto calculadora em_java
Projeto calculadora em_javasamuelthiago
 

Destaque (20)

Programação Orientada a Objetos - Pós Graduação - Aula 5 - refactoring com ho...
Programação Orientada a Objetos - Pós Graduação - Aula 5 - refactoring com ho...Programação Orientada a Objetos - Pós Graduação - Aula 5 - refactoring com ho...
Programação Orientada a Objetos - Pós Graduação - Aula 5 - refactoring com ho...
 
Mini Curso - Programação de Interfaces Gráficas - aula extra persistência
Mini Curso - Programação de Interfaces Gráficas - aula extra persistênciaMini Curso - Programação de Interfaces Gráficas - aula extra persistência
Mini Curso - Programação de Interfaces Gráficas - aula extra persistência
 
Mini Curso - Programação de Interfaces Gráficas - aula 2
Mini Curso - Programação de Interfaces Gráficas - aula 2Mini Curso - Programação de Interfaces Gráficas - aula 2
Mini Curso - Programação de Interfaces Gráficas - aula 2
 
Programação Orientada a Objetos - Pós Graduação - Aula 4 - refactoring com ho...
Programação Orientada a Objetos - Pós Graduação - Aula 4 - refactoring com ho...Programação Orientada a Objetos - Pós Graduação - Aula 4 - refactoring com ho...
Programação Orientada a Objetos - Pós Graduação - Aula 4 - refactoring com ho...
 
Lista Exercicios C2
Lista Exercicios C2Lista Exercicios C2
Lista Exercicios C2
 
Apresentação wxWidgets
Apresentação wxWidgetsApresentação wxWidgets
Apresentação wxWidgets
 
Aula de Algoritmos II - Turma 222
Aula de Algoritmos II - Turma 222Aula de Algoritmos II - Turma 222
Aula de Algoritmos II - Turma 222
 
Java 07 Entrada Dados
Java 07 Entrada DadosJava 07 Entrada Dados
Java 07 Entrada Dados
 
Algoritmos Genéticos Aplicados ao Problema da Mochila Multidimensional
Algoritmos Genéticos Aplicados ao Problema da Mochila MultidimensionalAlgoritmos Genéticos Aplicados ao Problema da Mochila Multidimensional
Algoritmos Genéticos Aplicados ao Problema da Mochila Multidimensional
 
Programação Orientada a Objetos - Pós Graduação - aula 1
Programação Orientada a Objetos - Pós Graduação - aula 1Programação Orientada a Objetos - Pós Graduação - aula 1
Programação Orientada a Objetos - Pós Graduação - aula 1
 
Aula sobre multithreading
Aula sobre multithreadingAula sobre multithreading
Aula sobre multithreading
 
Java Lista Exercicios 06
Java Lista Exercicios 06Java Lista Exercicios 06
Java Lista Exercicios 06
 
Programação Orientada a Objetos - Pós Graduação - Aula 3
Programação Orientada a Objetos - Pós Graduação - Aula 3Programação Orientada a Objetos - Pós Graduação - Aula 3
Programação Orientada a Objetos - Pós Graduação - Aula 3
 
JTableView - Swing
JTableView - SwingJTableView - Swing
JTableView - Swing
 
Lista Exercicios C
Lista Exercicios CLista Exercicios C
Lista Exercicios C
 
Java 08 Modificadores Acesso E Membros De Classe
Java 08 Modificadores Acesso E Membros De ClasseJava 08 Modificadores Acesso E Membros De Classe
Java 08 Modificadores Acesso E Membros De Classe
 
Merci 10 Completo
Merci 10 CompletoMerci 10 Completo
Merci 10 Completo
 
Exercicios - Java Swing Listeners
Exercicios - Java Swing ListenersExercicios - Java Swing Listeners
Exercicios - Java Swing Listeners
 
Projeto calculadora em_java
Projeto calculadora em_javaProjeto calculadora em_java
Projeto calculadora em_java
 
Java Lista Exercicios 02
Java Lista Exercicios 02Java Lista Exercicios 02
Java Lista Exercicios 02
 

Semelhante a Mini Curso - Programação de Interfaces Gráficas - aula 4

Roteiro do projeto sistemas de producao
Roteiro do projeto   sistemas de producaoRoteiro do projeto   sistemas de producao
Roteiro do projeto sistemas de producaoDaniel Moura
 
Roteiro do projeto sistemas de produção
Roteiro do projeto   sistemas de produçãoRoteiro do projeto   sistemas de produção
Roteiro do projeto sistemas de produçãoDaniel Moura
 
Workshop Rational Team Concert - RTC - Planejamento - aula 01
Workshop  Rational Team Concert - RTC - Planejamento - aula 01Workshop  Rational Team Concert - RTC - Planejamento - aula 01
Workshop Rational Team Concert - RTC - Planejamento - aula 01Wise Systems
 
plano_de_projeto_controlart_rascunho
plano_de_projeto_controlart_rascunhoplano_de_projeto_controlart_rascunho
plano_de_projeto_controlart_rascunhouserrx
 
PLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SW
PLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SWPLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SW
PLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SWInstituto Federal de Sergipe
 
Capítulo 04 - Persistência de dados com SQLite
Capítulo 04 - Persistência de dados com SQLiteCapítulo 04 - Persistência de dados com SQLite
Capítulo 04 - Persistência de dados com SQLiteMarcio Palheta
 
PROJETO INTEGRADO - CURSOS DA ÁREA DE TI - Uma das tecnologias mais populare...
PROJETO INTEGRADO - CURSOS DA ÁREA DE TI -  Uma das tecnologias mais populare...PROJETO INTEGRADO - CURSOS DA ÁREA DE TI -  Uma das tecnologias mais populare...
PROJETO INTEGRADO - CURSOS DA ÁREA DE TI - Uma das tecnologias mais populare...HELENO FAVACHO
 
plano_de_projeto_controlart_final
plano_de_projeto_controlart_finalplano_de_projeto_controlart_final
plano_de_projeto_controlart_finaluserrx
 

Semelhante a Mini Curso - Programação de Interfaces Gráficas - aula 4 (9)

Roteiro do projeto sistemas de producao
Roteiro do projeto   sistemas de producaoRoteiro do projeto   sistemas de producao
Roteiro do projeto sistemas de producao
 
Roteiro do projeto sistemas de produção
Roteiro do projeto   sistemas de produçãoRoteiro do projeto   sistemas de produção
Roteiro do projeto sistemas de produção
 
Workshop Rational Team Concert - RTC - Planejamento - aula 01
Workshop  Rational Team Concert - RTC - Planejamento - aula 01Workshop  Rational Team Concert - RTC - Planejamento - aula 01
Workshop Rational Team Concert - RTC - Planejamento - aula 01
 
plano_de_projeto_controlart_rascunho
plano_de_projeto_controlart_rascunhoplano_de_projeto_controlart_rascunho
plano_de_projeto_controlart_rascunho
 
PLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SW
PLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SWPLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SW
PLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SW
 
Capítulo 04 - Persistência de dados com SQLite
Capítulo 04 - Persistência de dados com SQLiteCapítulo 04 - Persistência de dados com SQLite
Capítulo 04 - Persistência de dados com SQLite
 
PROJETO INTEGRADO - CURSOS DA ÁREA DE TI - Uma das tecnologias mais populare...
PROJETO INTEGRADO - CURSOS DA ÁREA DE TI -  Uma das tecnologias mais populare...PROJETO INTEGRADO - CURSOS DA ÁREA DE TI -  Uma das tecnologias mais populare...
PROJETO INTEGRADO - CURSOS DA ÁREA DE TI - Uma das tecnologias mais populare...
 
plano_de_projeto_controlart_final
plano_de_projeto_controlart_finalplano_de_projeto_controlart_final
plano_de_projeto_controlart_final
 
Tampadora automática
Tampadora automáticaTampadora automática
Tampadora automática
 

Mais de Carlos Eduardo

When and Why Your Code Starts to Smell Bad
When and Why Your Code Starts to Smell BadWhen and Why Your Code Starts to Smell Bad
When and Why Your Code Starts to Smell BadCarlos Eduardo
 
Experimentos envolvendo ações de Rejuvenescimento de Software
Experimentos envolvendo ações de Rejuvenescimento de SoftwareExperimentos envolvendo ações de Rejuvenescimento de Software
Experimentos envolvendo ações de Rejuvenescimento de SoftwareCarlos Eduardo
 
A Measurement-Based Model for Estimation of Resource Exhaustion in Operationa...
A Measurement-Based Model for Estimation of Resource Exhaustion in Operationa...A Measurement-Based Model for Estimation of Resource Exhaustion in Operationa...
A Measurement-Based Model for Estimation of Resource Exhaustion in Operationa...Carlos Eduardo
 
Socket Descriptor Leak encontrado na JDK
Socket Descriptor Leak encontrado na JDKSocket Descriptor Leak encontrado na JDK
Socket Descriptor Leak encontrado na JDKCarlos Eduardo
 
Máquinas de turing com memória limitada
Máquinas de turing com memória limitadaMáquinas de turing com memória limitada
Máquinas de turing com memória limitadaCarlos Eduardo
 
Detecting bad smells in source code using change history information
Detecting bad smells in source code using change history informationDetecting bad smells in source code using change history information
Detecting bad smells in source code using change history informationCarlos Eduardo
 
Recommending refactoring operations in large software systems
Recommending refactoring operations in large software systemsRecommending refactoring operations in large software systems
Recommending refactoring operations in large software systemsCarlos Eduardo
 

Mais de Carlos Eduardo (8)

When and Why Your Code Starts to Smell Bad
When and Why Your Code Starts to Smell BadWhen and Why Your Code Starts to Smell Bad
When and Why Your Code Starts to Smell Bad
 
Experimentos envolvendo ações de Rejuvenescimento de Software
Experimentos envolvendo ações de Rejuvenescimento de SoftwareExperimentos envolvendo ações de Rejuvenescimento de Software
Experimentos envolvendo ações de Rejuvenescimento de Software
 
A Measurement-Based Model for Estimation of Resource Exhaustion in Operationa...
A Measurement-Based Model for Estimation of Resource Exhaustion in Operationa...A Measurement-Based Model for Estimation of Resource Exhaustion in Operationa...
A Measurement-Based Model for Estimation of Resource Exhaustion in Operationa...
 
Socket Descriptor Leak encontrado na JDK
Socket Descriptor Leak encontrado na JDKSocket Descriptor Leak encontrado na JDK
Socket Descriptor Leak encontrado na JDK
 
Máquinas de turing com memória limitada
Máquinas de turing com memória limitadaMáquinas de turing com memória limitada
Máquinas de turing com memória limitada
 
Detecting bad smells in source code using change history information
Detecting bad smells in source code using change history informationDetecting bad smells in source code using change history information
Detecting bad smells in source code using change history information
 
Recommending refactoring operations in large software systems
Recommending refactoring operations in large software systemsRecommending refactoring operations in large software systems
Recommending refactoring operations in large software systems
 
NoSql
NoSqlNoSql
NoSql
 

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

  • 1. Programação de Interfaces Gráficas Aula 4 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.br
  • 2. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Objetivos Aula 4 • Conclusão do CRUD de fornecedor iniciado na aula 2; • Criação do CRUD Produto; • Distribuição do sistema com Java Web Start.
  • 3. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor – selecionar Fornecedor • Quando se seleciona um fornecedor, o objeto fornecedorSelecionadoTabela é populado, contudo desejamos que os textfields sejam populados com os dados deste fornecedor. Para isso, deve-se alterar o método abaixo em FornecedorControl
  • 4. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor – selecionar Fornecedor • Com isso, o sistema irá atualizar automaticamente os campos, facilitando inclusive a exclusão e a atualização.
  • 5. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor – selecionar Fornecedor • Repare que, quando o cliente possui CNPJ, o sistema não está mostrando, pois a máscara está para o campo CPF
  • 6. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor – selecionar Fornecedor • O evento que altera a máscara é o chkPessoaJuridicaItemStateChanged; • Com isso, é necessário alterar o preenchimento do checkbox; • 1) Adicione um novo atributo na classe Fornecedor, com get/set
  • 7. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor – selecionar Fornecedor • 2) Adicione a linha abaixo na classe Fornecedor
  • 8. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor – selecionar Fornecedor • 3) Vincule a seleção do checkbox com o método que você acabou de criar em Fornecedor
  • 9. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor – selecionar Fornecedor • 4) Retire a linha com o código setValue(“”) do evento chkPessoaJuridicaItemStateChanged, e crie um novo evento de clique no checkbox, com o código abaixo:
  • 10. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor – selecionar Fornecedor
  • 11. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor – evento novo • Seria interessante adicionar um evento para o botão novo, para limpar os campos. • FornecedorControl – • Evento do botão novo em FornecedorView
  • 12. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor – lidando com exceções • Crie um novo pacote chamado util.exception, e dentro dele crie uma classe chamada CrudException
  • 13. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor – lidando com exceções • Altere os métodos excluir • FornecedorDao: • FornecedorControl:
  • 14. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor – lidando com exceções • FornecedorView:
  • 15. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor – lidando com exceções
  • 16. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor – pesquisando fornecedores • 1) Deve-se criar um método de pesquisar em FornecedorDao e excluir o “getFornecedores()”
  • 17. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor – pesquisando fornecedores • 2) Deve-se criar o método pesquisar em FornecedorControl e alterar os demais métodos para chamar este
  • 18. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Fornecedor – pesquisando fornecedores • 3) Por fim, deve-se adicionar o evento do botão pesquisar em FornecedorView.
  • 19. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Produto – desafios • Em uma outra tela, como Produto, o desafio está em se relacionar com outros objetos, como por exemplo Fornecedor
  • 20. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Produto – desafios • 1) Classe Produto – domain • 2) ProdutoDao
  • 21. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Produto – desafios • 1) Classe Produto – domain • 2) ProdutoDao
  • 22. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Produto – desafios • 3) Classe ProdutoControl – repare que esta precisou da lista de fornecedores para popular o combo que está no view
  • 23. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Produto – desafios • 4) Em produtoView, no combobox é necessário vincular a lista de fornecedores e o fornecedor selecionado
  • 24. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Produto – desafios • Para não mostrar um texto enorme, é necessário alterar o toString() de Fornecedor.
  • 25. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Tela de Produto – desafios • De • Para
  • 26. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Java Web Start • Facilita as atualizações automáticas nas máquinas clientes.
  • 27. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Java Web Start • Para distribuir a aplicação, nas propriedades do projeto, deve-se ativar a web start
  • 28. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Java Web Start
  • 29. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Java Web Start • Em assinatura, coloque auto-assinado
  • 30. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Java Web Start • Ao limpar e construir o projeto, na pasta dist será criado um arquivo chamado launch.jnlp
  • 31. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Java Web Start • Copie todos os arquivos, para um diretório dentro da pasta WebApps do Tomcat
  • 32. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Java Web Start • Edite o arquivo conf/web.xml do tomcat para permitir visualizar conteúdo dentro do diretório
  • 33. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Java Web Start • Ao subir o tomcat, os arquivos abaixo deverão estar disponíveis
  • 34. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Java Web Start Ao abrir o arquivo, o Java Web Start irá instalar o aplicativo
  • 35. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Java Web Start Digitando javaws –viewer, é possível visualizar a aplicação, criar atalho, etc..
  • 36. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Java Web Start
  • 37. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Referê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.