Baixe o app para aproveitar ainda mais
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
Compartilhar