Mini Curso - Programação de Interfaces Gráficas - aula 1
-
Upload
carlos-eduardo-dantas -
Category
Documents
-
view
222 -
download
3
Transcript of Mini Curso - Programação de Interfaces Gráficas - aula 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 – [email protected]
Prof Carlos Eduardo Dantas – [email protected]
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 – [email protected]
Objetivos Aula 1
• Obter uma visão geral de componentes Swing;
• Organizar um projeto no padrão MVC.
Prof Carlos Eduardo Dantas – [email protected]
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 – [email protected]
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 – [email protected]
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 – [email protected]
Mapa de Componentes Swing/AWT
• Swing em azul;
• AWT em
amarelo.
Prof Carlos Eduardo Dantas – [email protected]
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 – [email protected]
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 – [email protected]
Iniciando um projeto -criação
Prof Carlos Eduardo Dantas – [email protected]
Iniciando um projeto –criação de pacotes
Prof Carlos Eduardo Dantas – [email protected]
Iniciando um projeto –Adicionando um JFrame
Prof Carlos Eduardo Dantas – [email protected]
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 – [email protected]
Iniciando um projeto –Adicionando Componentes
• Edite o nome dos componentes abaixo (apertando F2 em cada componente):
Prof Carlos Eduardo Dantas – [email protected]
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 – [email protected]
Iniciando um projeto –Adicionando Imagem
• Adicione um Jlabel, e pela propriedade icon, adicione a imagem
Prof Carlos Eduardo Dantas – [email protected]
Iniciando um projeto –adicionando evento do botão
• Adicionando evento para executar o botão ao pressionar “enter”
Prof Carlos Eduardo Dantas – [email protected]
Iniciando um projeto –camada view completa
Prof Carlos Eduardo Dantas – [email protected]
Iniciando um projeto –camada model.domain
• Em model.domain, crie uma classe chamada Autenticacao, com os atributos usuario e senha
Prof Carlos Eduardo Dantas – [email protected]
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 – [email protected]
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 – [email protected]
Iniciando um projeto –camada control
• Em control, crie uma classe chamada AutenticacaoControl, e coloque get/set para o campo autenticacaoDigitada.
Prof Carlos Eduardo Dantas – [email protected]
Iniciando um projeto –camada control
• Em AutenticacaoView, coloque uma referência para AutenticacaoControl, e crie um get
Prof Carlos Eduardo Dantas – [email protected]
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 – [email protected]
Iniciando um projeto –resultado
• Falta associar o que foi digitado nos campos com o atributo autenticacaoDigitada da classe AutenticacaoControl.
Prof Carlos Eduardo Dantas – [email protected]
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 – [email protected]
Beans Binding –implementação view
• Deve-se amarrar os campos de texto com os atributos de autenticacaoDigitada
Prof Carlos Eduardo Dantas – [email protected]
Beans Binding –implementação view
• Com a vinculação dos componentes, automaticamente foram adicionados as bibliotecas do framework
Prof Carlos Eduardo Dantas – [email protected]
Beans Binding – resultado
Prof Carlos Eduardo Dantas – [email protected]
Adicionando menu
Prof Carlos Eduardo Dantas – [email protected]
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 – [email protected]
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 – [email protected]
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 – [email protected]
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 – [email protected]
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.