Buscar

Aula 05 - Swing

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Prof. Edgar Gurgel 
JAVA 
 
Interface Gráfica - Swing 
Swing - Conceitos 
•  O pacote Swing não é um substituto do AWT (Abstract 
Window Toolkit), o pacote gráfico utilizado nas primeiras 
versões de Java. Em vez disso, o Swing é visto como uma 
camada disposta sobre o AWT e que utiliza internamente os 
componentes da AWT. 
 
 
•  Diferentemente da AWT, onde alguns componentes gráficos 
utilizavam a capacidade de renderização da interfaces 
gráficas em que o aplicativo estava sendo executado, os 
componentes do Swing são todos escritos em puro java. 
 
•  Um componente do pacote Swing é reconhecido pela letra J 
antecedendo o nome do mesmo componente no pacote 
AWT. 
Swing - Conceitos 
 Todas as classes do swing são extensões da classe AWT, que 
por sua vez, são extensões da classe java.lang.Object, a 
superclasse de todas as classes do Java. 
Existem três classes a serem utilizadas na criação de uma GUI: 
ü  import java.awt.* à permite a utilização de diversas 
classes do pacote AWT, além de possuir uma série de 
constantes numéricas. 
ü  import java.awt.event à usado para o processamento dos 
eventos que ocorrerão na janela, tais como: Click do Mouse, 
ENTER do campo texto, etc. 
ü  import javax.swing.* à permite a utilização de diversas 
classes do pacote swing. 
Swing – Criação de Frames 
•  Frame é um componente do pacote AWT responsável pela 
criação de janelas, parecidas com as encontradas em 
aplicativos do ambiente Windows. O componente frame gera 
uma janela com barra de título, bordas e pode ter outros 
componentes em seu interior. 
•  Imagine o componente frame como uma folha de projeto em 
que são inseridos diversos objetos. Em conjunto com esses 
objetos, definidos no método construtor da classe, o 
componente frame gera uma visualização gráfica de um 
determinado aplicativo. 
•  Esta classe estende diretamente a classe Frame do AWT. 
Swing – Compreendendo Eventos 
l  As interfaces gráficas são elementos baseados em 
eventos; 
l  De uma maneira geral, eventos são interação do 
usuário com a interface gráfica; 
l  Mover o mouse é um evento; fechar uma janela é 
um outro evento; 
l  Eventos ocorrem a todo instante nos aplicativos 
modernos. 
Swing – Compreendendo Eventos 
l  Quando o usuário interage com um objeto da 
in te r face g rá f i ca , um even to é env iado 
automaticamente para o programa na expectativa 
de que ele seja identificado e convenientemente 
tratado para produzir algum tipo de resposta à ação 
realizada sobre o objeto. 
Swing – Estrutura Hierárquica 
AWT e Swing 
Ø  Os retângulos sombreados representam os controles da AWT. 
JWindow 
Dialog 
Frame 
JLabel 
AbstractButton 
JPanel 
JRootPane 
JDialog 
JFrame 
JButton 
Window 
Jcomponent 
Container Component 
Como utilizar os componentes Swing? 
l  É possível utilizar alguns componentes básicos do 
Swing diretamente; 
l  Com o Swing não há mudanças fundamentais no 
modo como as aplicações são construídas; 
l  Pode-se criar a janela principal da aplicação, usar 
frames, componentes e gerenciadores de layout e é 
possível estabelecer conexão com interfaces 
gráficas que são elementos baseados em eventos. 
Swing – Exemplo 1 
 import java.awt.*; import java.awt.event.*; 
import javax.swing.*; 
 
class Exemplo1 extends JFrame 
{ 
 Exemplo1() { 
 setTitle("Minha primeira Janela em Java"); 
 setSize(400,200); 
 setLocation(150,150); 
 setResizable(false); 
 getContentPane().setBackground(Color.gray); 
 String x = getTitle(); } 
 
 public static void main(String args[]) { 
 JFrame Janela=new Exemplo1(); 
 Janela.setVisible(true); } 
} 
Importação de Pacotes 
Estende JFrame 
construtor - mesmo nome da classe 
titulo da Janela 
dimensoes da janela (Largura e Comprimento) 
canto esquerdo e topo da tela 
a janela não pode ser redimensionada 
cor de fundo da janela 
declaração e inicialização do objeto Janela 
Mostra a Janela na tela 
Swing – Exemplo 
 
 
Interface Gráfica 
POO II 11 
l  Até agora utilizamos o método System.out.println para escrever informações 
na tela. Porém, esta prática não é 100% portável, pois há sistemas que não 
dispõem de um console de texto; 
l  A linguagem Java oferece diversas formas de interação com o usuário, a 
grande maioria em janelas. Para evitar a criação de uma interface completa, 
pode-se utilizar as chamadas caixas de diálogo; 
l  Se olharmos com atenção na documentação da API, observaremos que as 
classes estão agrupadas em pacotes (packages); 
l  Os pacotes servem para reunir um conjunto de classes com função 
semelhante. Então, se quisermos utilizar uma classe específica, devemos 
informar ao compilador Java onde (em qual pacote) essa classe deve ser 
encontrada; 
Interface Gráfica 
POO II 12 
l  A Classe que implementa as caixas de diálogo, JOptionPane, se encontra 
no pacote javax.swing, que contém diversas outras classes para interface 
com o usuário. Para utilizar essa classe, utiliza-se o comando import; 
l  import javax.swing.JOptionPane; 
l  Algumas classes como String, System, Integer e outras são parte de um 
pacote especial, denominado java.lang. Esse pacote nunca precisa ser 
importado, pois são as classes primitivas que compõem a linguagem 
Java; 
l  A classe JOptionPane oferece diversos métodos, para criar diversos tipos 
de caixas de diálogo. Por exemplo, se quisermos exibir uma caixa de 
mensagem pa ra i n fo rmar o usuá r i o , usamos o mé todo 
showMessageDialog(...); 
Interface Gráfica 
POO II 13 
l  As caixas de diálogo de entrada de texto (Input Text Dialog) servem para 
fazer uma requisição de algum dado ao usuário de forma bem simples e 
direta; 
l  O que é digitado pelo usuário é retornado pelo método em forma de String; 
l  Existem mais de 10 métodos sobrecarregados para invocar uma caixa de 
diálogo Input Text, mas como exemplo usaremos o método 
showInputDialog( ) ; 
// utilização de interface gráfica 
 
// pacotes de extensão de Java 
 
// importa a classe JOptionPane 
 
import javax.swing.JOptionPane; 
 
public class Interface1{ 
 
 // metodo main executa a aplicao Java 
 
 public static void main(String args[ ]) 
 
 { 
 JOptionPane.showMessageDialog(null,"Usando uma interface grafica!"); 
 
 JOptionPane.showMessageDialog(null,"Usando uma interface 
 grafica!","Aviso",JOptionPane.WARNING_MESSAGE); 
 
 // termina o aplicativo 
 System.exit(0); 
 
 } // fim do metodo main 
 
} // fim da classe Interface1 
Interface Gráfica 
POO II 14 
Interface Gráfica 
POO II 15 
l  o método showMessageDialog(...) é um método estático (de classe) de 
JOptionPane! Por esse motivo, não é necessário instanciar objetos a partir de 
JOptionPane; 
l  Observe também a chamada para o método System.exit(0), este método é 
geralmente utilizado para encerrar um programa que utilize interface gráfica; 
l  O primeiro parâmetro é a dependência ou frame pai, ou seja, de qual janela 
esta confirmação está sendo gerada. Como nossos exemplos iniciais não 
possuem nenhuma dependência, então, sempre usaremos null neste 
argumento; 
l  O segundo parâmetro é a mensagem a ser exibida ao usuário; 
l  O terceiro parâmetro é o título que será exibido na janela (ao invés de 
“Mensagem"); 
l  O quarto parâmetro controla o ícone apresentado à esquerda da janela; 
Interface Gráfica 
POO II 16 
•  JOptionPane.PLAIN_MESSAGE - nenhum ícone 
•  JOptionPane.ERROR_MESSAGE– 
•  JOptionPane.INFORMATION_MESSAGE - 
•  JOptionPane.WARNING_MESSAGE - 
•  JOptionPane.QUESTION_MESSAGE - 
// utilizacao de interface grafica 
 
// pacote de extensao Java 
 
// importa a classe JOptionPane 
 
import javax.swing.JOptionPane; 
 
public class Interface2{ 
 
 // metodo main executa a aplicacao 
 
 public static void main(String args[ ]) 
 { 
 String n1,n2; 
 int num1,num2,soma; 
 // converte o primeiro numero digitado pelo usuario como uma String 
 n1 = JOptionPane.showInputDialog("Entre com o primeiro numero: "); 
 n1 = JOptionPane.showInputDialog(null,"Entre com o primeiro numero: ","Entrada 
 de Dados", JOptionPane.WARNING_MESSAGE); 
 
 // converte o segundo numero digitado pelo usuario como uma String 
 
 n2 = JOptionPane.showInputDialog("Entre com o segundo numero: "); 
Interface Gráfica 
POO II 17 
 
 // converte os numeros do tipo string para inteiro 
 
 num1 = Integer.parseInt(n1); 
 
 num2 = Integer.parseInt(n2); 
 
 soma = num1+num2; 
 
 JOptionPane.showMessageDialog(null,"A soma e 
 "+soma,"Resultado",JOptionPane.PLAIN_MESSAGE); 
 System.exit(0); 
 
 } // fim do método main 
 
} // fim da classe Interface2 
 
Interface Gráfica 
POO II 18 
l  O método showConfirmDialog sempre retorna uma constante 
que é a resposta clicada pelo usuário, conforme tabela abaixo: 
19 
Introdução à Programação Visual 
VALOR NOME DA CONSTANTE EQUIVALE 
0 YES_OPTION Clicar no botão Yes 
1 NO_OPTION Clicar no botão No 
2 CANCEL_OPTION Clicar no botão Cancel 
Interface Gráfica 
POO II 20 
import javax.swing.JOptionPane; 
public class Interface3 { 
 public static void main(String args[ ]) { 
 String nome; 
 int resposta; 
 nome = JOptionPane.showInputDialog("Qual é o seu nome?"); 
 resposta = JOptionPane.showConfirmDialog(null, "O seu nome é " + 
nome + "?"); 
 
 if (resposta == JOptionPane.YES_OPTION) 
 
 // verifica se o usuario clicou no botao YES 
 JOptionPane.showMessageDialog(null, "Seu nome e " + nome); 
 
 else 
 
 JOptionPane.showMessageDialog(null, "Seu nome nao e " + nome); 
 } 
}

Outros materiais