Mini Curso - Programação de Interfaces Gráficas - aula 1
Upcoming SlideShare
Loading in...5
×
 

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

on

  • 71 views

 

Statistics

Views

Total Views
71
Views on SlideShare
68
Embed Views
3

Actions

Likes
0
Downloads
3
Comments
0

2 Embeds 3

http://www.linkedin.com 2
https://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Mini Curso - Programação de Interfaces Gráficas - aula 1 Mini Curso - Programação de Interfaces Gráficas - aula 1 Presentation Transcript

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