Buscar

LabProgramacao_III_Aula03_InterfacesGraficas

Prévia do material em texto

Prof. Dr. Rodrigo Plotze
rodrigoplotze@gmail.com
Laboratório de 
Programação III
Aula 03
▪ Controles e Componentes em Java (Swing)
− Frames (JFrame), Botões (JButton) e Rótulos (JLabel)
− Campos de Texto (JTextField); CheckBox (JCheckBox) e 
RadioButton (JRadioButton); Listas (JList), ComboBox
(JComboBox) e Tabelas (JTable); Caixas de Diálogo
▪ Eventos: Janela, Foco, Teclado e Mouse
▪ Interfaces de Múltiplos Documentos 
(MDI – Multiple Document Interface)
2
Conteúdo
INTERFACES GRÁFICAS
▪ Graphical User Interface (GUI) 
− Interface Gráfica do Usuário
− São criadas a partir de controles visuais com os quais 
os usuários podem interagir.
− Fornece ao programa uma aparência e um 
comportamento diferenciados.
4
Interfaces Gráficas
▪ Console
5
Interfaces Gráficas
▪ Desktop
6
Interfaces Gráficas
▪ Web
7
Interfaces Gráficas
▪ Mobile
8
Interfaces Gráficas
▪ Em Java é possível construir interfaces utilizando 
dois pacotes
− AWT
• Abstract Window Toolkit
− Swing
• Extensão das classes AWT
9
Interfaces Gráficas
▪ Abstract Windowing Toolkit
− import java.awt.*
− Conjunto básico de componentes gráficos de Java 
para uso em GUI;
− Interfaces AWT possuem aparência diferentes 
dependendo do SO;
− Muito limitado;
10
Interfaces Gráficas
▪ Swing
− javax.swing.*
− componentes totalmente escritos em Java
− componentes originários do pacote AWT (java.awt.*);
− Interfaces utilizando Swing são idênticas 
independente da plataforma;
− Parte integrante da Java Foundation Classes
11
Interfaces Gráficas
▪ Java Foundation Classes é um conjunto de 
pacotes usados para criação de interfaces gráficas 
com o usuário (GUI).
▪ Características da JFC:
− Look&Feel adaptável
− Recursos de arrastar e soltar
− Java2D (gráficos em 2D)
− Acessibilidade (tecnologias assistentes)
12
Interfaces Gráficas
▪ Swing
13
Interfaces Gráficas
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
JButton
JList
JRadioButton
JLabel
JTextField
JCheckBox
JTextArea
AbstractButton
JToggleButton
JPanel
▪ Tratamento de Eventos
− java.awt.EventQuee
− Fila contendo todos os eventos gerados pela Janela, 
Teclado, Mouse, etc.
14
Interfaces Gráficas
▪ Controles disponíveis na paleta do NetBeans 
15
Interfaces Gráficas
▪ Configuração de propriedades e eventos
16
Interfaces Gráficas
CONTROLES
▪ Classe JFrame
− Container para componentes Swing
− Propriedades
• Title
• Resizable
18
Controles para GUI
▪ Classe JLabel
− Definição de texto que pode ser 
adicionado a um outro 
controle.
− Pode exibir: uma única linha de 
texto, uma imagem ou tanto texto quando imagem;
19
Controles para GUI
▪ Classe JButton
− Componentes que o usuário interage por meio 
de cliques do mouse
− É gerado um ActionEvent
− Propriedades Principais
• Icon (PressedIcon, RolloverIcon)
• Mnemonic
• Text
• ToolTipText → dicas
• ContentAreaFilled, BorderPainted
20
Controles para GUI
▪ Classe JButton
21
Controles para GUI
▪ Classe JTextField
− Permite criar uma caixa de texto 
gráfica para entrada de dados do 
usuário.
22
Controles para GUI
▪ Classe JPasswordField
− Variação do JTextField para entrada de senhas. 
− Não permite a visualização do que foi digitado.
23
Controles para GUI
ATIVIDADE PRÁTICA
24
▪ Exercício 1
− Construir uma interfaces gráfica para 
Cadastro de Livros
25
Atividade Prática
▪ Exercício 2
− Desenvolver uma tela de Login que verifica o usuário e 
senha digitados
26
Atividade Prática
▪ Exercício 3
− Elaborar uma GUI para registro de notas fiscais.
27
Atividade Prática
▪ Exercício 4
− Construir uma Calculadora inspirada na Calculadora 
do Windows.
28
Atividade Prática
▪ Exercício 5
− Faça uma pesquisa sobre a classe 
JFormattedTextField, a qual permite a definição de 
campos de texto com máscaras. Em seguida elabore 
uma aplicação baseada na interface:
29
Atividade Prática
▪ Classe JCheckBox (Caixa de Opção)
− Permitem a seleção múltipla (ou não) de um conjunto 
de itens
30
Controles para GUI
▪ Classe JRadioButton (Botões de Rádio)
− Seleção múltipla (ou não) de um grupo de opções
31
Controles para GUI
32
Controles para GUI
ATIVIDADE PRÁTICA
33
▪ Exercício 1
− Elabore uma aplicação baseada na seguinte interface.
34
Atividade Prática
▪ Exercício 2
− Elabore uma aplicação que:
• Permita o usuário selecionar um pais do conjunto 
{Brasil, Argentina, México, Equador, Estados 
Unidos, Canadá, entre outros}.
• A partir da seleção do usuário exibir a imagem da 
bandeira.
35
Atividade Prática
▪ Exercício 3
− Crie uma classe que simule vendas contendo três 
formas de pagamento, de acordo com a Figura. 
− O usuário entra com um valor, escolhe a forma de 
pagamento, e o cálculo do preço final é realizado 
conforme os seguintes critérios: 
• dinheiro, desconto de 5%; 
• cheque, acréscimo de 5%; 
• cartão, acréscimo de 10%. 
36
Atividade Prática
▪ Classe JList (Lista de Seleção)
− Possibilitam a escolha de um ou vários valores 
armazenados em uma lista de opções.
37
Controles para GUI
▪ Classe JComboBox
− Uso semelhante ao JList
− Permite a seleção de 
itens do conjunto
38
Controles para GUI
▪ Classe JTextArea
− Permite manipular diversas linhas de texto.
39
Controles para GUI
ATIVIDADE PRÁTICA
40
▪ Exercício 1
− Elabore uma aplicação baseada na seguinte interface.
41
Atividade Prática
▪ Exercício 2
− Construir uma aplicação para demonstrar o uso do 
JComboBox.
42
Atividade Prática
▪ Exercício 3
− Elaborar uma GUI para Cadastro de Clientes
43
Atividade Prática
▪ Caixas de Diálogo
− InputDialog
− MessageDialog
− ConfirmDialog
− OptionDialog
44
Controles para GUI
45
Controles para GUI
46
Controles para GUI
▪ Selecionadores
− Seleção de Cor 
(JColorChooser)
− Seleção de Arquivo 
(JFileChooser)
47
Controles para GUI
▪ Classe JProgressBar
− Barra de Progresso
48
Controles para GUI
▪ Classe JSlider
− Propriedades
• Maximum, Minimum, Ticks
50
Controles para GUI
▪ Classe JTabbedPane (Painéis Tabulados)
− Propriedades
• tabPlacement
51
Controles para GUI
ATIVIDADE PRÁTICA
52
▪ Exercício 1
− Elabore uma aplicação baseada na seguinte interface.
53
Atividade Prática
▪ Exercício 2
− Elabore uma aplicação baseada na seguinte interface.
54
Atividade Prática
▪ Classe JTable
− Permite apresentar dados na forma de tabelas em 
duas dimensões: linhas e colunas.
55
Controles para GUI
▪ Classe JTable
56
Controles para GUI
ATIVIDADE PRÁTICA
57
▪ Exercício 1
− Desenvolver uma aplicação para Gerenciar as Notas 
de um Aluno.
− Requisitos Funcionais
• Controlar as notas das disciplinas considerando as 
seguintes informações: etapa, nome da disciplina, 
nota da prova parcial, nota da prova final e média 
final.
58
Atividade Prática
Etapa Disciplina Nota Parcial Nota Final Média
3 Lab. Prog III 10,00 8,00 8,80
3 Estrutura de Dados 5,00 10,00 8,00
▪ Exercício 1 (continuação)
− Requisitos Funcionais
• A aplicação deve ser capaz de adicionar, remover, 
pesquisar por disciplina e listar.
• Utilizar os controles: JTable , JComboBox ou JList
59
Atividade Prática
▪ Exercício 2
− Desenvolver uma aplicação Java baseada na seguinte 
interface gráfica:
60
Atividade Prática
▪ Exercício 2 (continuação)
− Requisitos Funcionais
• Sair: Finalizar a aplicação, mas antes pergunta ao 
usuário: “Tem certeza que deseja sair?”
• Sobre: Exibir um novo formulário JFrame com 
informações sobre o desenvolvedor: nome e 
código.
61
Atividade Prática
INTERFACES DE MÚLTIPLOS 
DOCUMENTOS - MDI
▪ Classe JInternalFrame
− Criação de frames internos
− São mais “leves” que os JFrame e possuem muitas 
características em comum.
− Necessário o uso de uma Área de Trabalho 
(JDesktopPane)
63
Interfaces de Múltiplos Documentos
▪ Classe JInternalFrame
− Criação do frame
64
Interfaces de Múltiplos Documentos
65
Interfaces de Múltiplos DocumentosATIVIDADE PRÁTICA
66
▪ Exercício 1
− Desenvolver uma aplicação MDI capaz de trocar dados 
entre janelas. 
− Para isso, utilize dois formulários internos 
denominados FormCadastro e FormVisualizar.
− A aplicação deverá conter um menu para acesso as 
janelas.
67
Atividade Prática
▪ Exercício 1 (continuação)
− Para isso, considere os seguintes formulários internos:
68
Atividade Prática
FormCadastro FormVisualizar
CONTROLES DE EVENTOS
70
Controles de Eventos
▪ Manipuladores de Eventos
71
Controles de Eventos
FIM
72

Continue navegando