![Page 1: Linguagem de Programação Interface Gráfica · •Interface gráfica com o usuário (graphical user interface – GUI): Apresenta um mecanismo amigável ao usuário para interagir](https://reader035.vdocuments.site/reader035/viewer/2022070916/5fb68138f57ccb63a87bcb22/html5/thumbnails/1.jpg)
Joyce França Professora de Ciência da Computação - IFNMG
Linguagem de Programação
Interface Gráfica
![Page 2: Linguagem de Programação Interface Gráfica · •Interface gráfica com o usuário (graphical user interface – GUI): Apresenta um mecanismo amigável ao usuário para interagir](https://reader035.vdocuments.site/reader035/viewer/2022070916/5fb68138f57ccb63a87bcb22/html5/thumbnails/2.jpg)
Introdução
• Interface gráfica com o usuário (graphical user interface – GUI):
▫ Apresenta um mecanismo amigável ao usuário para interagir com uma aplicação.
▫ Freqüentemente contém barra de título, barra de menus que contém menus, botões e caixas de combinação.
▫ É construída a partir de componentes GUI.
2
![Page 3: Linguagem de Programação Interface Gráfica · •Interface gráfica com o usuário (graphical user interface – GUI): Apresenta um mecanismo amigável ao usuário para interagir](https://reader035.vdocuments.site/reader035/viewer/2022070916/5fb68138f57ccb63a87bcb22/html5/thumbnails/3.jpg)
3
Janela do Internet Explorer com componentes GUI.
botão menus barra de título barra de menus caixa de combinação
barras de rolagem
Exemplo
![Page 4: Linguagem de Programação Interface Gráfica · •Interface gráfica com o usuário (graphical user interface – GUI): Apresenta um mecanismo amigável ao usuário para interagir](https://reader035.vdocuments.site/reader035/viewer/2022070916/5fb68138f57ccb63a87bcb22/html5/thumbnails/4.jpg)
Introdução
• A plataforma Java oferece recursos sofisticados para construção de interfaces gráficas de usuário GUI. Esses recursos fazem parte do framework Java Foundation Classes (JFC):
▫ JavaWeb Start: Permite que aplicações Java sejam facilmente implantadas nas máquinas dos usuários.
▫ Java Plug-In: Permite que applets executem dentro dos principais navegadores.
▫ Java 2D: Possibilita a criação de imagens e gráficos 2D.
▫ Java 3D: Possibilita a manipulação de objetos 3D.
▫ Java Sound: Disponibiliza a manipulação de sons para as aplicações Java.
▫ AWT (AbstractWindow Toolkit): Conjunto básico de classes e interfaces que definem os componentes de uma janela desktop. AWT é a base para Java Swing API.
▫ Swing: Conjunto sofisticado de classes e interfaces que definem os componentes visuais e serviços necessários para construir uma interface gráfica de usuário.
4
![Page 5: Linguagem de Programação Interface Gráfica · •Interface gráfica com o usuário (graphical user interface – GUI): Apresenta um mecanismo amigável ao usuário para interagir](https://reader035.vdocuments.site/reader035/viewer/2022070916/5fb68138f57ccb63a87bcb22/html5/thumbnails/5.jpg)
5
Visão geral de componentes Swing
• Componentes Swing GUI:
▫ Declarado no pacote javax.swing.
▫ A maioria dos componentes Swing são componentes Java puros — escritos, manipulados e exibidos em Java.
▫ Fazem parte das Java Foundation Classes (JFC) — bibliotecas do Java para desenvolvimento de GUI para múltiplas plataformas.
![Page 6: Linguagem de Programação Interface Gráfica · •Interface gráfica com o usuário (graphical user interface – GUI): Apresenta um mecanismo amigável ao usuário para interagir](https://reader035.vdocuments.site/reader035/viewer/2022070916/5fb68138f57ccb63a87bcb22/html5/thumbnails/6.jpg)
6
Alguns componentes GUI básicos
Componente Descrição
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.
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.
JList Fornece uma lista de itens a partir da qual o usuário pode
fazer uma seleção clicando em qualquer item na lista.
Múltiplos elementos podem ser selecionados.
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 7: Linguagem de Programação Interface Gráfica · •Interface gráfica com o usuário (graphical user interface – GUI): Apresenta um mecanismo amigável ao usuário para interagir](https://reader035.vdocuments.site/reader035/viewer/2022070916/5fb68138f57ccb63a87bcb22/html5/thumbnails/7.jpg)
JFrame
• A classe JFrame define janelas com título, borda e alguns itens definidos pelo sistema operacional como botão para minimizar ou maximizar.
7
![Page 8: Linguagem de Programação Interface Gráfica · •Interface gráfica com o usuário (graphical user interface – GUI): Apresenta um mecanismo amigável ao usuário para interagir](https://reader035.vdocuments.site/reader035/viewer/2022070916/5fb68138f57ccb63a87bcb22/html5/thumbnails/8.jpg)
JFrame
• É possível associar uma das ações abaixo ao botão de fechar janela.
DO_NOTHING_ON_CLOSE: Não faz nada.
HIDE_ON_CLOSE: Esconde a janela (Padrão no JFrame).
DISPOSE_ON_CLOSE: Fecha a janela (Mais utilizado emjanelas internas).
EXIT_ON_CLOSE: Fecha a aplicação (System.exit(0)).
8
![Page 9: Linguagem de Programação Interface Gráfica · •Interface gráfica com o usuário (graphical user interface – GUI): Apresenta um mecanismo amigável ao usuário para interagir](https://reader035.vdocuments.site/reader035/viewer/2022070916/5fb68138f57ccb63a87bcb22/html5/thumbnails/9.jpg)
JFrame
9
![Page 10: Linguagem de Programação Interface Gráfica · •Interface gráfica com o usuário (graphical user interface – GUI): Apresenta um mecanismo amigável ao usuário para interagir](https://reader035.vdocuments.site/reader035/viewer/2022070916/5fb68138f57ccb63a87bcb22/html5/thumbnails/10.jpg)
JPanel
• A classe JPanel define um componente que basicamente é utilizado para agrupar nas janelas outros componentes como caixas de texto, botões, listas, entre outros.
• Normalmente, criamos um objeto da classe JPanel e associamos a um objeto da classe Jframe para agrupar todo o conteúdo da janela.
10
painel.setBackground(Color.ORANGE);
![Page 11: Linguagem de Programação Interface Gráfica · •Interface gráfica com o usuário (graphical user interface – GUI): Apresenta um mecanismo amigável ao usuário para interagir](https://reader035.vdocuments.site/reader035/viewer/2022070916/5fb68138f57ccb63a87bcb22/html5/thumbnails/11.jpg)
JTextField e JLabel
• A classe JTextField define os campos de texto que podemser preenchidos pelo usuário.
• A classe JLabel define rótulos que podem ser utilizados por exemplo em caixas de texto.
11
![Page 12: Linguagem de Programação Interface Gráfica · •Interface gráfica com o usuário (graphical user interface – GUI): Apresenta um mecanismo amigável ao usuário para interagir](https://reader035.vdocuments.site/reader035/viewer/2022070916/5fb68138f57ccb63a87bcb22/html5/thumbnails/12.jpg)
JTextField e JLabel
JLabel
12
JTextField
![Page 13: Linguagem de Programação Interface Gráfica · •Interface gráfica com o usuário (graphical user interface – GUI): Apresenta um mecanismo amigável ao usuário para interagir](https://reader035.vdocuments.site/reader035/viewer/2022070916/5fb68138f57ccb63a87bcb22/html5/thumbnails/13.jpg)
Exercício
![Page 14: Linguagem de Programação Interface Gráfica · •Interface gráfica com o usuário (graphical user interface – GUI): Apresenta um mecanismo amigável ao usuário para interagir](https://reader035.vdocuments.site/reader035/viewer/2022070916/5fb68138f57ccb63a87bcb22/html5/thumbnails/14.jpg)
JTextArea
• Para textos maiores podemos aplicar o componente definido pela classe JTextArea.
14
![Page 15: Linguagem de Programação Interface Gráfica · •Interface gráfica com o usuário (graphical user interface – GUI): Apresenta um mecanismo amigável ao usuário para interagir](https://reader035.vdocuments.site/reader035/viewer/2022070916/5fb68138f57ccb63a87bcb22/html5/thumbnails/15.jpg)
JTextArea
15
![Page 16: Linguagem de Programação Interface Gráfica · •Interface gráfica com o usuário (graphical user interface – GUI): Apresenta um mecanismo amigável ao usuário para interagir](https://reader035.vdocuments.site/reader035/viewer/2022070916/5fb68138f57ccb63a87bcb22/html5/thumbnails/16.jpg)
JPasswordField
• Em formulários que necessitam de caixa de texto para digitar senhas, podemos aplicar o componente definido pela classe JPasswordField.
• O conteúdo digitado na caixa de texto gerado pelo componente da classe JPasswordField não é apresentado ao usuário.
16
![Page 17: Linguagem de Programação Interface Gráfica · •Interface gráfica com o usuário (graphical user interface – GUI): Apresenta um mecanismo amigável ao usuário para interagir](https://reader035.vdocuments.site/reader035/viewer/2022070916/5fb68138f57ccb63a87bcb22/html5/thumbnails/17.jpg)
JPasswordField
17
![Page 18: Linguagem de Programação Interface Gráfica · •Interface gráfica com o usuário (graphical user interface – GUI): Apresenta um mecanismo amigável ao usuário para interagir](https://reader035.vdocuments.site/reader035/viewer/2022070916/5fb68138f57ccb63a87bcb22/html5/thumbnails/18.jpg)
JCheckBox
• Podemos criar formulários comcheckbox’s utilizando o componente da classe JCheckBox.
18
![Page 19: Linguagem de Programação Interface Gráfica · •Interface gráfica com o usuário (graphical user interface – GUI): Apresenta um mecanismo amigável ao usuário para interagir](https://reader035.vdocuments.site/reader035/viewer/2022070916/5fb68138f57ccb63a87bcb22/html5/thumbnails/19.jpg)
JCheckBox
19
![Page 20: Linguagem de Programação Interface Gráfica · •Interface gráfica com o usuário (graphical user interface – GUI): Apresenta um mecanismo amigável ao usuário para interagir](https://reader035.vdocuments.site/reader035/viewer/2022070916/5fb68138f57ccb63a87bcb22/html5/thumbnails/20.jpg)
Exercício
![Page 21: Linguagem de Programação Interface Gráfica · •Interface gráfica com o usuário (graphical user interface – GUI): Apresenta um mecanismo amigável ao usuário para interagir](https://reader035.vdocuments.site/reader035/viewer/2022070916/5fb68138f57ccb63a87bcb22/html5/thumbnails/21.jpg)
JComboBox
• Podemos criar formulários combobox’s utilizando o componente da classe JComboBox.
21
![Page 22: Linguagem de Programação Interface Gráfica · •Interface gráfica com o usuário (graphical user interface – GUI): Apresenta um mecanismo amigável ao usuário para interagir](https://reader035.vdocuments.site/reader035/viewer/2022070916/5fb68138f57ccb63a87bcb22/html5/thumbnails/22.jpg)
JComboBox
22
![Page 23: Linguagem de Programação Interface Gráfica · •Interface gráfica com o usuário (graphical user interface – GUI): Apresenta um mecanismo amigável ao usuário para interagir](https://reader035.vdocuments.site/reader035/viewer/2022070916/5fb68138f57ccb63a87bcb22/html5/thumbnails/23.jpg)
Exercício
![Page 24: Linguagem de Programação Interface Gráfica · •Interface gráfica com o usuário (graphical user interface – GUI): Apresenta um mecanismo amigável ao usuário para interagir](https://reader035.vdocuments.site/reader035/viewer/2022070916/5fb68138f57ccb63a87bcb22/html5/thumbnails/24.jpg)
JRadioButton
JRadioButton radio= new JRadioButton("Feminino");
painel.add(radio);
JRadioButton radio2= new JRadioButton("masculino");
painel.add(radio2);
![Page 25: Linguagem de Programação Interface Gráfica · •Interface gráfica com o usuário (graphical user interface – GUI): Apresenta um mecanismo amigável ao usuário para interagir](https://reader035.vdocuments.site/reader035/viewer/2022070916/5fb68138f57ccb63a87bcb22/html5/thumbnails/25.jpg)
JRadioButton
• Para permitir selicionar apenas um botão
JRadioButton radio= new JRadioButton("Feminino");
painel.add(radio);
JRadioButton radio2= new JRadioButton("masculino");
painel.add(radio2);
ButtonGroup grupo = new ButtonGroup();
grupo.add(radio);
grupo.add(radio2);
![Page 26: Linguagem de Programação Interface Gráfica · •Interface gráfica com o usuário (graphical user interface – GUI): Apresenta um mecanismo amigável ao usuário para interagir](https://reader035.vdocuments.site/reader035/viewer/2022070916/5fb68138f57ccb63a87bcb22/html5/thumbnails/26.jpg)
Exercício
• Qual sua faixa de idade?
▫ Menos de 18 anos
▫ Entre 18 e 30 anos
▫ Acima de 30 anos
![Page 27: Linguagem de Programação Interface Gráfica · •Interface gráfica com o usuário (graphical user interface – GUI): Apresenta um mecanismo amigável ao usuário para interagir](https://reader035.vdocuments.site/reader035/viewer/2022070916/5fb68138f57ccb63a87bcb22/html5/thumbnails/27.jpg)
JButton
• Os botões que permitem que os usuários indiquem quais ações ele deseja que a aplicação execute podem ser criados através do componente definido pela classe JButton.
27
![Page 28: Linguagem de Programação Interface Gráfica · •Interface gráfica com o usuário (graphical user interface – GUI): Apresenta um mecanismo amigável ao usuário para interagir](https://reader035.vdocuments.site/reader035/viewer/2022070916/5fb68138f57ccb63a87bcb22/html5/thumbnails/28.jpg)
JButton
28
![Page 29: Linguagem de Programação Interface Gráfica · •Interface gráfica com o usuário (graphical user interface – GUI): Apresenta um mecanismo amigável ao usuário para interagir](https://reader035.vdocuments.site/reader035/viewer/2022070916/5fb68138f57ccb63a87bcb22/html5/thumbnails/29.jpg)
Exercício
• Criar o formulário mostrado na figura:
![Page 30: Linguagem de Programação Interface Gráfica · •Interface gráfica com o usuário (graphical user interface – GUI): Apresenta um mecanismo amigável ao usuário para interagir](https://reader035.vdocuments.site/reader035/viewer/2022070916/5fb68138f57ccb63a87bcb22/html5/thumbnails/30.jpg)
Exercício
Fazer um formulário para cadastro
30
![Page 31: Linguagem de Programação Interface Gráfica · •Interface gráfica com o usuário (graphical user interface – GUI): Apresenta um mecanismo amigável ao usuário para interagir](https://reader035.vdocuments.site/reader035/viewer/2022070916/5fb68138f57ccb63a87bcb22/html5/thumbnails/31.jpg)
Exercício