SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Downloaden Sie, um offline zu lesen
Programação de Interfaces
Gráficas
Aula 1
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
Abrangência do Curso
• Criação de Interfaces Gráficas com Swing;
• Uso do framework Beans Binding para
efetuar o link dos componentes com os
objetos;
• Uso do padrão MVC;
• Uso de regionalização;
• Introdução à Persistência de Objetos.
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Objetivos Aula 1
• Obter uma visão geral de componentes
Swing;
• Organizar um projeto no padrão MVC.
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Introdução
• Uma interface gráfica com o usuário
apresenta uma interface visual para um
Software;
• Em Java existem basicamente as APIs:
Swing, SWT e AWT.
Componentes AWT: Label, Button, TextField, List, etc.
Componentes Swing: JLabel, JButton, JTextField, JList, etc.
Componentes SWT: Label, Button, Text, List, etc
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
AWT
• API padrão entre 1995-1998;
• Perdeu popularidade por ter dependência
com a plataforma local;
• Os componentes awt se situam no pacote
java.awt.
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Swing
• API escrita puramente em Java;
• Padrão desde 1998;
• Componentes podem ser estendidos ou
modificados;
• Os componentes swing se situam no
pacote javax.swing.
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Mapa de Componentes
Swing/AWT
• Swing em azul;
• AWT em
amarelo.
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Principais componentes
Swing
• Jframe – janela (ou quadro) de nível mais
alto;
Alguns métodos interessantes para um quadro (JFrame):
dispose( ): fecha a janela e libera seus recursos para o sistema,
setIconImage( ): especifica um ícone (objeto Image),
setTitle( ): muda o texto da barra de título,
setResizeable( ): que especifica um boolean para determinar se o
quadro será redimensionável ou não,
setVisible( ): exibir o quadro,
setSize( ): que especifica o tamanho do quadro,
setLocation( ): que especifica a localização do quadro na tela.
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
NetBeans
• Ambiente de Desenvolvimento open-
source escrito em Java;
• Alta produtividade em aplicações
Desktop, Java ME, etc..;
• Integração perfeita com os principais
frameworks da plataforma Java
http://www.netbeans.org
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Iniciando um projeto -
criação
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Iniciando um projeto –
criação de pacotes
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Iniciando um projeto –
Adicionando um JFrame
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Iniciando um projeto –
Editando propriedades
JFrame
•
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Iniciando um projeto –
Adicionando um Panel
•
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Iniciando um projeto –
Editando borda
•
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Iniciando um projeto –
Adicionando Componentes
• Adicione dois Label, um TextField, um
Password Field, um Separator, um Button,
e deixe a aplicação semelhante à imagem
abaixo:
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Iniciando um projeto –
Adicionando Componentes
• Edite o nome dos componentes abaixo
(apertando F2 em cada componente):
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Iniciando um projeto –
Adicionando Componentes
• Adicione um novo pacote chamado
view.img, e dentro deste, coloque uma
imagem para a tela de login
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Iniciando um projeto –
Adicionando Imagem
• Adicione um Jlabel, e pela propriedade
icon, adicione a imagem
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Iniciando um projeto –
adicionando evento do botão
• Adicionando evento para executar o botão
ao pressionar “enter”
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Iniciando um projeto –
camada view completa
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Iniciando um projeto –
camada model.domain
• Em model.domain, crie uma classe
chamada Autenticacao, com os atributos
usuario e senha
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Iniciando um projeto –
camada model.domain
• Botão direito do mouse e clique em insert
code, adicionando construtores, get/set
para todos os campos, toString para todos
os campos e equals HashCode,
comparando pelo campo usuario
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Iniciando um projeto –
camada model.dao
• Em model.dao, crie uma classe chamada
AutenticacaoDao, simulando o
funcionamento de um banco de dados
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Iniciando um projeto –
camada control
• Em control, crie uma classe chamada
AutenticacaoControl, e coloque get/set
para o campo autenticacaoDigitada.
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Iniciando um projeto –
camada control
• Em AutenticacaoView, coloque uma
referência para AutenticacaoControl, e crie
um get
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Iniciando um projeto –
camada control
• Clique duplo no botão login para
adicionar um evento, e adicione o código
abaixo:
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Iniciando um projeto –
resultado
• O que falta?
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Iniciando um projeto –
resultado
• Falta associar o que foi digitado nos
campos com o atributo
autenticacaoDigitada da classe
AutenticacaoControl.
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Beans Binding
• Implementação da JSR-295;
• Permite vincular propriedades de objetos
a propriedades de componentes gráficos
no Swing ou qualquer outro
objeto/componente;
• O NetBeans possui total suporte para tal
finalidade.
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Beans Binding –
implementação view
• Deve-se amarrar os campos de texto com
os atributos de autenticacaoDigitada
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Beans Binding –
implementação view
• Com a vinculação dos componentes,
automaticamente foram adicionados as
bibliotecas do framework
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Beans Binding – resultado
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Adicionando menu
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Adicionando menu
• Edite os textos dos menus e adicione
atalhos, clicando duplo ao lado do texto;
• Edite as propriedades do Jframe, como
title e location by platform
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Criando um link entre a tela
de login e o menu
• Deve-se fechar o frame atual
(Autenticação) e abrir o frame novo
(menu).
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Executando o arquivo binário
• Clicar em Clean and Build;
• Dentro do diretório do projeto foi gerado
um diretório chamado dist com os
arquivos binários.
Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
Próxima aula
• Criação de telas CRUD
(inserção,atualização,exclusão e pesquisa)
completo, com tabelas, pesquisas, etc..
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.

Weitere ähnliche Inhalte

Andere mochten auch

Mini Curso - Programação de Interfaces Gráficas - aula 3
Mini Curso - Programação de Interfaces Gráficas - aula 3Mini Curso - Programação de Interfaces Gráficas - aula 3
Mini Curso - Programação de Interfaces Gráficas - aula 3Carlos Eduardo
 
Programação Orientada a Objetos - Pós Graduação - Aula 2
Programação Orientada a Objetos - Pós Graduação - Aula 2Programação Orientada a Objetos - Pós Graduação - Aula 2
Programação Orientada a Objetos - Pós Graduação - Aula 2Carlos Eduardo
 
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 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
 
Aula de Algoritmos II - Turma 222
Aula de Algoritmos II - Turma 222Aula de Algoritmos II - Turma 222
Aula de Algoritmos II - Turma 222Bianca Dantas
 
Apresentação wxWidgets
Apresentação wxWidgetsApresentação wxWidgets
Apresentação wxWidgetsRenzo Petri
 
Aula sobre multithreading
Aula sobre multithreadingAula sobre multithreading
Aula sobre multithreadingBianca 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
 
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
 

Andere mochten auch (20)

Mini Curso - Programação de Interfaces Gráficas - aula 3
Mini Curso - Programação de Interfaces Gráficas - aula 3Mini Curso - Programação de Interfaces Gráficas - aula 3
Mini Curso - Programação de Interfaces Gráficas - aula 3
 
Programação Orientada a Objetos - Pós Graduação - Aula 2
Programação Orientada a Objetos - Pós Graduação - Aula 2Programação Orientada a Objetos - Pós Graduação - Aula 2
Programação Orientada a Objetos - Pós Graduação - Aula 2
 
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 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
 
Aula de Algoritmos II - Turma 222
Aula de Algoritmos II - Turma 222Aula de Algoritmos II - Turma 222
Aula de Algoritmos II - Turma 222
 
Apresentação wxWidgets
Apresentação wxWidgetsApresentação wxWidgets
Apresentação wxWidgets
 
Java 07 Entrada Dados
Java 07 Entrada DadosJava 07 Entrada Dados
Java 07 Entrada Dados
 
Aula sobre multithreading
Aula sobre multithreadingAula sobre multithreading
Aula sobre multithreading
 
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
 
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
 

Ähnlich wie Mini Curso - Programação de Interfaces Gráficas - aula 1

TecTreinos - Ementas 2011
TecTreinos - Ementas 2011TecTreinos - Ementas 2011
TecTreinos - Ementas 2011Qintess
 
Laminas Mala Direta - CTT Supnet
Laminas Mala Direta - CTT SupnetLaminas Mala Direta - CTT Supnet
Laminas Mala Direta - CTT SupnetGuilherme Valle
 
Global tecnol s.a – tecnologias ads - backend - web - mobile - devops
Global tecnol s.a – tecnologias   ads - backend - web - mobile - devopsGlobal tecnol s.a – tecnologias   ads - backend - web - mobile - devops
Global tecnol s.a – tecnologias ads - backend - web - mobile - devopsHELENO FAVACHO
 
Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015Rodrigo Marinho
 
Unidade 07 introdução a computação - word - versao 2003 a 2013 15-03-03 - 1...
Unidade 07   introdução a computação - word - versao 2003 a 2013 15-03-03 - 1...Unidade 07   introdução a computação - word - versao 2003 a 2013 15-03-03 - 1...
Unidade 07 introdução a computação - word - versao 2003 a 2013 15-03-03 - 1...Alex Casañas
 
Unidade 07 introdução a computação - word - versao 2003 a 2013 15-03-03 - 1...
Unidade 07   introdução a computação - word - versao 2003 a 2013 15-03-03 - 1...Unidade 07   introdução a computação - word - versao 2003 a 2013 15-03-03 - 1...
Unidade 07 introdução a computação - word - versao 2003 a 2013 15-03-03 - 1...Alex Casañas
 
Projeto Integrado Áreas de TI - iniciar uma jornada empreendedora - 2.pdf
Projeto Integrado Áreas de TI - iniciar uma jornada empreendedora - 2.pdfProjeto Integrado Áreas de TI - iniciar uma jornada empreendedora - 2.pdf
Projeto Integrado Áreas de TI - iniciar uma jornada empreendedora - 2.pdfHELENO FAVACHO
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POODaniel Brandão
 
Linguagem de Programação Comercial
Linguagem de Programação ComercialLinguagem de Programação Comercial
Linguagem de Programação ComercialTathiana Machado
 
Projeto Integrado Áreas de TI - iniciar uma jornada empreendedora.pdf
Projeto Integrado Áreas de TI -  iniciar uma jornada empreendedora.pdfProjeto Integrado Áreas de TI -  iniciar uma jornada empreendedora.pdf
Projeto Integrado Áreas de TI - iniciar uma jornada empreendedora.pdfHELENO FAVACHO
 
PROJETO INTEGRADO - CURSOS DA ÁREA DE TI - A UML (Linguagem de Modelagem Uni...
PROJETO INTEGRADO - CURSOS DA ÁREA DE TI -  A UML (Linguagem de Modelagem Uni...PROJETO INTEGRADO - CURSOS DA ÁREA DE TI -  A UML (Linguagem de Modelagem Uni...
PROJETO INTEGRADO - CURSOS DA ÁREA DE TI - A UML (Linguagem de Modelagem Uni...HELENO FAVACHO
 
Devfest Cerrado: Angular 2
Devfest Cerrado: Angular 2 Devfest Cerrado: Angular 2
Devfest Cerrado: Angular 2 Loiane Groner
 
Global tecnol s.a – tecnologias – ads semestre 5º e 6º semestre
Global tecnol s.a – tecnologias – ads semestre 5º e 6º semestreGlobal tecnol s.a – tecnologias – ads semestre 5º e 6º semestre
Global tecnol s.a – tecnologias – ads semestre 5º e 6º semestreHELENO FAVACHO
 
Angular 2 em 60 minutos
Angular 2 em 60 minutosAngular 2 em 60 minutos
Angular 2 em 60 minutosLoiane Groner
 
Oficina de Planejamento Corte: Seu layout virando código - 15 EDTED
Oficina de Planejamento Corte: Seu layout virando código  - 15 EDTEDOficina de Planejamento Corte: Seu layout virando código  - 15 EDTED
Oficina de Planejamento Corte: Seu layout virando código - 15 EDTEDBunee.io - Hiring with Intelligence
 
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
 
VISUALIZAÇÃO DE MODELOS VTK UTILIZANDO WEBGL:UM ESTUDO EXPERIMENTAL
VISUALIZAÇÃO DE MODELOS VTK UTILIZANDO WEBGL:UM ESTUDO EXPERIMENTALVISUALIZAÇÃO DE MODELOS VTK UTILIZANDO WEBGL:UM ESTUDO EXPERIMENTAL
VISUALIZAÇÃO DE MODELOS VTK UTILIZANDO WEBGL:UM ESTUDO EXPERIMENTALJan Palach
 
Visualizaçãi de Modelos VTK Utilizando WebGL: Um estudo experimental.
Visualizaçãi de Modelos VTK Utilizando WebGL: Um estudo experimental.Visualizaçãi de Modelos VTK Utilizando WebGL: Um estudo experimental.
Visualizaçãi de Modelos VTK Utilizando WebGL: Um estudo experimental.Jan Palach
 

Ähnlich wie Mini Curso - Programação de Interfaces Gráficas - aula 1 (20)

TecTreinos - Ementas 2011
TecTreinos - Ementas 2011TecTreinos - Ementas 2011
TecTreinos - Ementas 2011
 
Laminas Mala Direta - CTT Supnet
Laminas Mala Direta - CTT SupnetLaminas Mala Direta - CTT Supnet
Laminas Mala Direta - CTT Supnet
 
Global tecnol s.a – tecnologias ads - backend - web - mobile - devops
Global tecnol s.a – tecnologias   ads - backend - web - mobile - devopsGlobal tecnol s.a – tecnologias   ads - backend - web - mobile - devops
Global tecnol s.a – tecnologias ads - backend - web - mobile - devops
 
Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015
 
Unidade 07 introdução a computação - word - versao 2003 a 2013 15-03-03 - 1...
Unidade 07   introdução a computação - word - versao 2003 a 2013 15-03-03 - 1...Unidade 07   introdução a computação - word - versao 2003 a 2013 15-03-03 - 1...
Unidade 07 introdução a computação - word - versao 2003 a 2013 15-03-03 - 1...
 
Unidade 07 introdução a computação - word - versao 2003 a 2013 15-03-03 - 1...
Unidade 07   introdução a computação - word - versao 2003 a 2013 15-03-03 - 1...Unidade 07   introdução a computação - word - versao 2003 a 2013 15-03-03 - 1...
Unidade 07 introdução a computação - word - versao 2003 a 2013 15-03-03 - 1...
 
Projeto Integrado Áreas de TI - iniciar uma jornada empreendedora - 2.pdf
Projeto Integrado Áreas de TI - iniciar uma jornada empreendedora - 2.pdfProjeto Integrado Áreas de TI - iniciar uma jornada empreendedora - 2.pdf
Projeto Integrado Áreas de TI - iniciar uma jornada empreendedora - 2.pdf
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
 
Linguagem de Programação Comercial
Linguagem de Programação ComercialLinguagem de Programação Comercial
Linguagem de Programação Comercial
 
Projeto Integrado Áreas de TI - iniciar uma jornada empreendedora.pdf
Projeto Integrado Áreas de TI -  iniciar uma jornada empreendedora.pdfProjeto Integrado Áreas de TI -  iniciar uma jornada empreendedora.pdf
Projeto Integrado Áreas de TI - iniciar uma jornada empreendedora.pdf
 
PROJETO INTEGRADO - CURSOS DA ÁREA DE TI - A UML (Linguagem de Modelagem Uni...
PROJETO INTEGRADO - CURSOS DA ÁREA DE TI -  A UML (Linguagem de Modelagem Uni...PROJETO INTEGRADO - CURSOS DA ÁREA DE TI -  A UML (Linguagem de Modelagem Uni...
PROJETO INTEGRADO - CURSOS DA ÁREA DE TI - A UML (Linguagem de Modelagem Uni...
 
Devfest Cerrado: Angular 2
Devfest Cerrado: Angular 2 Devfest Cerrado: Angular 2
Devfest Cerrado: Angular 2
 
Global tecnol s.a – tecnologias – ads semestre 5º e 6º semestre
Global tecnol s.a – tecnologias – ads semestre 5º e 6º semestreGlobal tecnol s.a – tecnologias – ads semestre 5º e 6º semestre
Global tecnol s.a – tecnologias – ads semestre 5º e 6º semestre
 
Angular 2 em 60 minutos
Angular 2 em 60 minutosAngular 2 em 60 minutos
Angular 2 em 60 minutos
 
Oficina de Planejamento Corte: Seu layout virando código - 15 EDTED
Oficina de Planejamento Corte: Seu layout virando código  - 15 EDTEDOficina de Planejamento Corte: Seu layout virando código  - 15 EDTED
Oficina de Planejamento Corte: Seu layout virando código - 15 EDTED
 
Framework web 01 - Aula UTFPR 2018
Framework web 01 - Aula UTFPR 2018Framework web 01 - Aula UTFPR 2018
Framework web 01 - Aula UTFPR 2018
 
Introdução ao DotNetNuke
Introdução ao DotNetNukeIntrodução ao DotNetNuke
Introdução ao DotNetNuke
 
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...
 
VISUALIZAÇÃO DE MODELOS VTK UTILIZANDO WEBGL:UM ESTUDO EXPERIMENTAL
VISUALIZAÇÃO DE MODELOS VTK UTILIZANDO WEBGL:UM ESTUDO EXPERIMENTALVISUALIZAÇÃO DE MODELOS VTK UTILIZANDO WEBGL:UM ESTUDO EXPERIMENTAL
VISUALIZAÇÃO DE MODELOS VTK UTILIZANDO WEBGL:UM ESTUDO EXPERIMENTAL
 
Visualizaçãi de Modelos VTK Utilizando WebGL: Um estudo experimental.
Visualizaçãi de Modelos VTK Utilizando WebGL: Um estudo experimental.Visualizaçãi de Modelos VTK Utilizando WebGL: Um estudo experimental.
Visualizaçãi de Modelos VTK Utilizando WebGL: Um estudo experimental.
 

Mehr von 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
 

Mehr von 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 1

  • 1. Programação de Interfaces Gráficas Aula 1 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 Abrangência do Curso • Criação de Interfaces Gráficas com Swing; • Uso do framework Beans Binding para efetuar o link dos componentes com os objetos; • Uso do padrão MVC; • Uso de regionalização; • Introdução à Persistência de Objetos.
  • 3. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Objetivos Aula 1 • Obter uma visão geral de componentes Swing; • Organizar um projeto no padrão MVC.
  • 4. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Introdução • Uma interface gráfica com o usuário apresenta uma interface visual para um Software; • Em Java existem basicamente as APIs: Swing, SWT e AWT. Componentes AWT: Label, Button, TextField, List, etc. Componentes Swing: JLabel, JButton, JTextField, JList, etc. Componentes SWT: Label, Button, Text, List, etc
  • 5. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br AWT • API padrão entre 1995-1998; • Perdeu popularidade por ter dependência com a plataforma local; • Os componentes awt se situam no pacote java.awt.
  • 6. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Swing • API escrita puramente em Java; • Padrão desde 1998; • Componentes podem ser estendidos ou modificados; • Os componentes swing se situam no pacote javax.swing.
  • 7. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Mapa de Componentes Swing/AWT • Swing em azul; • AWT em amarelo.
  • 8. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Principais componentes Swing • Jframe – janela (ou quadro) de nível mais alto; Alguns métodos interessantes para um quadro (JFrame): dispose( ): fecha a janela e libera seus recursos para o sistema, setIconImage( ): especifica um ícone (objeto Image), setTitle( ): muda o texto da barra de título, setResizeable( ): que especifica um boolean para determinar se o quadro será redimensionável ou não, setVisible( ): exibir o quadro, setSize( ): que especifica o tamanho do quadro, setLocation( ): que especifica a localização do quadro na tela.
  • 9. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br NetBeans • Ambiente de Desenvolvimento open- source escrito em Java; • Alta produtividade em aplicações Desktop, Java ME, etc..; • Integração perfeita com os principais frameworks da plataforma Java http://www.netbeans.org
  • 10. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Iniciando um projeto - criação
  • 11. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Iniciando um projeto – criação de pacotes
  • 12. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Iniciando um projeto – Adicionando um JFrame
  • 13. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Iniciando um projeto – Editando propriedades JFrame •
  • 14. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Iniciando um projeto – Adicionando um Panel •
  • 15. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Iniciando um projeto – Editando borda •
  • 16. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Iniciando um projeto – Adicionando Componentes • Adicione dois Label, um TextField, um Password Field, um Separator, um Button, e deixe a aplicação semelhante à imagem abaixo:
  • 17. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Iniciando um projeto – Adicionando Componentes • Edite o nome dos componentes abaixo (apertando F2 em cada componente):
  • 18. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Iniciando um projeto – Adicionando Componentes • Adicione um novo pacote chamado view.img, e dentro deste, coloque uma imagem para a tela de login
  • 19. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Iniciando um projeto – Adicionando Imagem • Adicione um Jlabel, e pela propriedade icon, adicione a imagem
  • 20. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Iniciando um projeto – adicionando evento do botão • Adicionando evento para executar o botão ao pressionar “enter”
  • 21. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Iniciando um projeto – camada view completa
  • 22. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Iniciando um projeto – camada model.domain • Em model.domain, crie uma classe chamada Autenticacao, com os atributos usuario e senha
  • 23. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Iniciando um projeto – camada model.domain • Botão direito do mouse e clique em insert code, adicionando construtores, get/set para todos os campos, toString para todos os campos e equals HashCode, comparando pelo campo usuario
  • 24. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Iniciando um projeto – camada model.dao • Em model.dao, crie uma classe chamada AutenticacaoDao, simulando o funcionamento de um banco de dados
  • 25. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Iniciando um projeto – camada control • Em control, crie uma classe chamada AutenticacaoControl, e coloque get/set para o campo autenticacaoDigitada.
  • 26. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Iniciando um projeto – camada control • Em AutenticacaoView, coloque uma referência para AutenticacaoControl, e crie um get
  • 27. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Iniciando um projeto – camada control • Clique duplo no botão login para adicionar um evento, e adicione o código abaixo:
  • 28. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Iniciando um projeto – resultado • O que falta?
  • 29. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Iniciando um projeto – resultado • Falta associar o que foi digitado nos campos com o atributo autenticacaoDigitada da classe AutenticacaoControl.
  • 30. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Beans Binding • Implementação da JSR-295; • Permite vincular propriedades de objetos a propriedades de componentes gráficos no Swing ou qualquer outro objeto/componente; • O NetBeans possui total suporte para tal finalidade.
  • 31. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Beans Binding – implementação view • Deve-se amarrar os campos de texto com os atributos de autenticacaoDigitada
  • 32. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Beans Binding – implementação view • Com a vinculação dos componentes, automaticamente foram adicionados as bibliotecas do framework
  • 33. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Beans Binding – resultado
  • 34. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Adicionando menu
  • 35. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Adicionando menu • Edite os textos dos menus e adicione atalhos, clicando duplo ao lado do texto; • Edite as propriedades do Jframe, como title e location by platform
  • 36. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Criando um link entre a tela de login e o menu • Deve-se fechar o frame atual (Autenticação) e abrir o frame novo (menu).
  • 37. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Executando o arquivo binário • Clicar em Clean and Build; • Dentro do diretório do projeto foi gerado um diretório chamado dist com os arquivos binários.
  • 38. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Próxima aula • Criação de telas CRUD (inserção,atualização,exclusão e pesquisa) completo, com tabelas, pesquisas, etc..
  • 39. 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.