aplicaÇÕes de linguagem de programaÇÃo orientada a objetos componentes gui – parte i prof....
TRANSCRIPT
![Page 1: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE I Prof. Thiago Pereira Rique thiagorique2011@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062318/552fc0f8497959413d8b607e/html5/thumbnails/1.jpg)
APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS
COMPONENTES GUI – PARTE I
Prof. Thiago Pereira Rique
http://thiagorique.wordpress.com/
![Page 2: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE I Prof. Thiago Pereira Rique thiagorique2011@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062318/552fc0f8497959413d8b607e/html5/thumbnails/2.jpg)
AGENDA
Introdução A nova interface Nimbus do Java Look and feel padrão Metal do Java Entrada/saída baseada em GUI simples com
JOptionPane Visão geral de componentes Swing Exibição de texto e imagens em uma janela Campos de texto e uma introdução ao
tratamento de evento com classes aninhadas
![Page 3: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE I Prof. Thiago Pereira Rique thiagorique2011@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062318/552fc0f8497959413d8b607e/html5/thumbnails/3.jpg)
INTRODUÇÃO
Interface gráfica de usuário (Graphical User Interface – GUI) Aparência Comportamento
Componentes GUI (controles ou widgets (abreviação de window gadgets)) Objetos com os quais o usuário interage via
mouse, teclado ou outros mecanismos.
![Page 4: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE I Prof. Thiago Pereira Rique thiagorique2011@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062318/552fc0f8497959413d8b607e/html5/thumbnails/4.jpg)
A NOVA INTERFACE NIMBUS DO JAVA
Atualização 10 do Java SE 6 Há 3 modos de utilizar o Nimbus:
Configurá-lo como padrão para todos os aplicativos Java no computador
Configurá-lo como a interface no momento em que se carrega um aplicativo (linha de comando)
Configurá-lo como a interface diretamente no aplicativo (programaticamente)
![Page 5: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE I Prof. Thiago Pereira Rique thiagorique2011@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062318/552fc0f8497959413d8b607e/html5/thumbnails/5.jpg)
A NOVA INTERFACE NIMBUS DO JAVA
![Page 6: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE I Prof. Thiago Pereira Rique thiagorique2011@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062318/552fc0f8497959413d8b607e/html5/thumbnails/6.jpg)
A NOVA INTERFACE NIMBUS DO JAVA
![Page 7: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE I Prof. Thiago Pereira Rique thiagorique2011@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062318/552fc0f8497959413d8b607e/html5/thumbnails/7.jpg)
A NOVA INTERFACE NIMBUS DO JAVA
Outro exemplo: http://docs.oracle.com/javase/tutorial/uiswing/loo
kandfeel/nimbus.html
![Page 8: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE I Prof. Thiago Pereira Rique thiagorique2011@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062318/552fc0f8497959413d8b607e/html5/thumbnails/8.jpg)
LOOK AND FEEL PADRÃO METAL DO JAVA
Default look and feel - Metal
![Page 9: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE I Prof. Thiago Pereira Rique thiagorique2011@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062318/552fc0f8497959413d8b607e/html5/thumbnails/9.jpg)
LOOK AND FEEL PADRÃO METAL DO JAVA
Default look and feel - Metal
![Page 10: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE I Prof. Thiago Pereira Rique thiagorique2011@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062318/552fc0f8497959413d8b607e/html5/thumbnails/10.jpg)
ENTRADA/SAÍDA BASEADA EM GUI SIMPLES COM JOPTIONPANE
![Page 11: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE I Prof. Thiago Pereira Rique thiagorique2011@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062318/552fc0f8497959413d8b607e/html5/thumbnails/11.jpg)
ENTRADA/SAÍDA BASEADA EM GUI SIMPLES COM JOPTIONPANE
Diálogos de entrada
Diálogos de mensagem
![Page 12: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE I Prof. Thiago Pereira Rique thiagorique2011@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062318/552fc0f8497959413d8b607e/html5/thumbnails/12.jpg)
ENTRADA/SAÍDA BASEADA EM GUI SIMPLES COM JOPTIONPANE
Constantes de diálogo de mensagem JOptionPane
![Page 13: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE I Prof. Thiago Pereira Rique thiagorique2011@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062318/552fc0f8497959413d8b607e/html5/thumbnails/13.jpg)
VISÃO GERAL DE COMPONENTES SWING
JLabel Exibe texto não editável ou ícones.
JTextField Permite ao usuário inserir dados do teclado.
Também pode ser utilizado para exibir texto editável ou não editável.
JButton Desencadeia um evento quando o usuário clicar
nele com o mouse. JCheckBox
Especifica uma opção que pode ser ou não selecionada.
![Page 14: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE I Prof. Thiago Pereira Rique thiagorique2011@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062318/552fc0f8497959413d8b607e/html5/thumbnails/14.jpg)
VISÃO GERAL DE COMPONENTES SWING
JComboBox Fornece uma lista drop-down de itens a partir da
qual o usuário pode fazer uma seleção clicando em um item ou possivelmente digitando na caixa.
JPanel Fornece uma área em que os componentes
podem ser colocados e organizados. Também pode ser utilizado como uma área de desenho para imagens gráficas.
![Page 15: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE I Prof. Thiago Pereira Rique thiagorique2011@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062318/552fc0f8497959413d8b607e/html5/thumbnails/15.jpg)
VISÃO GERAL DE COMPONENTES SWING
Swing versus AWT (Abstract Window Toolkit)
Superclasses de componentes GUI leves (independentes de plataforma) do Swing
![Page 16: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE I Prof. Thiago Pereira Rique thiagorique2011@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062318/552fc0f8497959413d8b607e/html5/thumbnails/16.jpg)
EXIBIÇÃO DE TEXTO E IMAGENS EM UMA JANELA
Janelas Instâncias da classe JFrame ou subclasses de
JFrame. JFrame: subclasse indireta da classe
java.awt.Window. Para nossos exemplos:
Classe responsável pela construção da GUI (subclasse de JFrame).
Classe que cria e exibe a janela principal do aplicativo (main).
Rotulando componentes GUI JLabel
![Page 17: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE I Prof. Thiago Pereira Rique thiagorique2011@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062318/552fc0f8497959413d8b607e/html5/thumbnails/17.jpg)
EXIBIÇÃO DE TEXTO E IMAGENS EM UMA JANELA
![Page 18: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE I Prof. Thiago Pereira Rique thiagorique2011@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062318/552fc0f8497959413d8b607e/html5/thumbnails/18.jpg)
EXIBIÇÃO DE TEXTO E IMAGENS EM UMA JANELA
![Page 19: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE I Prof. Thiago Pereira Rique thiagorique2011@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062318/552fc0f8497959413d8b607e/html5/thumbnails/19.jpg)
EXIBIÇÃO DE TEXTO E IMAGENS EM UMA JANELA
![Page 20: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE I Prof. Thiago Pereira Rique thiagorique2011@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062318/552fc0f8497959413d8b607e/html5/thumbnails/20.jpg)
EXIBIÇÃO DE TEXTO E IMAGENS EM UMA JANELA
Saída do aplicativo
![Page 21: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE I Prof. Thiago Pereira Rique thiagorique2011@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062318/552fc0f8497959413d8b607e/html5/thumbnails/21.jpg)
EXIBIÇÃO DE TEXTO E IMAGENS EM UMA JANELA
Especificando o layout Gerenciadores de layout (FlowLayout)
Componentes da esquerda para a direita. Método setLayout herdado indiretamente da
classe Container Argumento: objeto de uma classe que implemente a
interface LayoutManager.
Criando e anexando label1 “Label com texto” para o construtor da classe
JLabel setToolTipText add(label1);
![Page 22: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE I Prof. Thiago Pereira Rique thiagorique2011@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062318/552fc0f8497959413d8b607e/html5/thumbnails/22.jpg)
EXIBIÇÃO DE TEXTO E IMAGENS EM UMA JANELA
Criando e anexando label2 Um ícone é especificado como um argumento Icon
para um construtor ou para o método setIcon do componente.
Icon Objeto de uma classe que implementa a interface Icon
(javax.swing). ImageIcon (javax.swing)
.gif, .png, .jpg (ou .jpeg) getClass().getResource(“Login_icon.png”)
Criando e anexando label3 setText, getText setIcon, getIcon setHorizontalTextPosition, setVerticalTextPosition
![Page 23: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE I Prof. Thiago Pereira Rique thiagorique2011@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062318/552fc0f8497959413d8b607e/html5/thumbnails/23.jpg)
EXIBIÇÃO DE TEXTO E IMAGENS EM UMA JANELA
Criando e exibindo uma janela LabelFrame Operação de fechamento padrão da janela
setDefaultCloseOperation JFrame.EXIT_ON_CLOSE
![Page 24: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE I Prof. Thiago Pereira Rique thiagorique2011@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062318/552fc0f8497959413d8b607e/html5/thumbnails/24.jpg)
CAMPOS DE TEXTO E UMA INTRODUÇÃO AO TRATAMENTO DE EVENTO COM CLASSES ANINHADAS
As GUIs são baseadas em eventos Clicar um botão, digitar em um campo de texto,
etc. Handler de evento
Código que realiza uma tarefa em resposta a um evento
Tratamento de eventos Processo total de responder a eventos
![Page 25: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE I Prof. Thiago Pereira Rique thiagorique2011@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062318/552fc0f8497959413d8b607e/html5/thumbnails/25.jpg)
CAMPOS DE TEXTO E UMA INTRODUÇÃO AO TRATAMENTO DE EVENTO COM CLASSES ANINHADAS
Continua...
![Page 26: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE I Prof. Thiago Pereira Rique thiagorique2011@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062318/552fc0f8497959413d8b607e/html5/thumbnails/26.jpg)
CAMPOS DE TEXTO E UMA INTRODUÇÃO AO TRATAMENTO DE EVENTO COM CLASSES ANINHADAS
Continua...
![Page 27: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE I Prof. Thiago Pereira Rique thiagorique2011@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062318/552fc0f8497959413d8b607e/html5/thumbnails/27.jpg)
CAMPOS DE TEXTO E UMA INTRODUÇÃO AO TRATAMENTO DE EVENTO COM CLASSES ANINHADAS
Continua...
![Page 28: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE I Prof. Thiago Pereira Rique thiagorique2011@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062318/552fc0f8497959413d8b607e/html5/thumbnails/28.jpg)
CAMPOS DE TEXTO E UMA INTRODUÇÃO AO TRATAMENTO DE EVENTO COM CLASSES ANINHADAS
Continua...
![Page 29: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE I Prof. Thiago Pereira Rique thiagorique2011@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062318/552fc0f8497959413d8b607e/html5/thumbnails/29.jpg)
CAMPOS DE TEXTO E UMA INTRODUÇÃO AO TRATAMENTO DE EVENTO COM CLASSES ANINHADAS
![Page 30: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE I Prof. Thiago Pereira Rique thiagorique2011@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062318/552fc0f8497959413d8b607e/html5/thumbnails/30.jpg)
CAMPOS DE TEXTO E UMA INTRODUÇÃO AO TRATAMENTO DE EVENTO COM CLASSES ANINHADAS
![Page 31: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE I Prof. Thiago Pereira Rique thiagorique2011@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062318/552fc0f8497959413d8b607e/html5/thumbnails/31.jpg)
CAMPOS DE TEXTO E UMA INTRODUÇÃO AO TRATAMENTO DE EVENTO COM CLASSES ANINHADAS
![Page 32: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE I Prof. Thiago Pereira Rique thiagorique2011@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062318/552fc0f8497959413d8b607e/html5/thumbnails/32.jpg)
CAMPOS DE TEXTO E UMA INTRODUÇÃO AO TRATAMENTO DE EVENTO COM CLASSES ANINHADAS
![Page 33: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE I Prof. Thiago Pereira Rique thiagorique2011@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062318/552fc0f8497959413d8b607e/html5/thumbnails/33.jpg)
CAMPOS DE TEXTO E UMA INTRODUÇÃO AO TRATAMENTO DE EVENTO COM CLASSES ANINHADAS
Passos necessários para configurar o tratamento de evento de um componente GUI
1. Crie uma classe que represente o handler de evento.
2. Implemente uma interface apropriada (interface ouvinte de eventos) na classe do passo 1.
3. Indique que um objeto da classe dos passos 1 e 2 deve ser notificado quando o evento ocorrer (registrar handler de evento).
![Page 34: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE I Prof. Thiago Pereira Rique thiagorique2011@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062318/552fc0f8497959413d8b607e/html5/thumbnails/34.jpg)
CAMPOS DE TEXTO E UMA INTRODUÇÃO AO TRATAMENTO DE EVENTO COM CLASSES ANINHADAS
Utilizando uma classe aninhada para implementar um handler de evento Classes de primeiro nível Classes aninhadas (static ou não static)
Não static: classes internas (handlers de eventos) “Cada evento é representado por uma classe e
pode ser processado apenas pelo tipo de handler de evento apropriado”
Enter em um JTextField ActionEvent (java.awt.event) ActionListener (java.awt.event)
actionPerformed
![Page 35: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE I Prof. Thiago Pereira Rique thiagorique2011@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062318/552fc0f8497959413d8b607e/html5/thumbnails/35.jpg)
CAMPOS DE TEXTO E UMA INTRODUÇÃO AO TRATAMENTO DE EVENTO COM CLASSES ANINHADAS
Registrando o handler de evento para cada campo de texto textField.addActionListener(handler);
Detalhes do método actionPerformed da classe TextFieldHandler Origem do evento Método getSource
if (event.getSource() == textField1) Método getActionCommand
![Page 36: APLICAÇÕES DE LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS COMPONENTES GUI – PARTE I Prof. Thiago Pereira Rique thiagorique2011@gmail.com](https://reader035.vdocuments.site/reader035/viewer/2022062318/552fc0f8497959413d8b607e/html5/thumbnails/36.jpg)
REFERÊNCIA
DEITEL, H.M; Java Como Programar. Ed. Pearson, 8ª ed, 2010.