Upload
trinhkhanh
View
216
Download
0
Embed Size (px)
Citation preview
Orientação a Objetos
Interface Gráfica – SwingJWindow / JFrame – KeyListenner
Gil Eduardo de Andrade
JWindow / JFrame – KeyListenner
Manipulando Janelas
As classes “JFrame” e JWindow”(import javax.swing.JFrame) (import javax.swing.JWindow)
• O pacote “javax.swing.*;” contém classes que • O pacote “javax.swing.*;” contém classes que permitem a criação e manipulação de componentes gráficos;
• As classes “JFrame” e “JWindow” permitem a criação de janelas com bordas e sem bordas respectivamente;
Aula 11: Interface Gráfica / Swing – Gil Eduardo de Andrade
Manipulando Janelas
A classe ”JWindow” (import javax.swing.JWindow)
• Para utilizarmos todas as funcionalidades disponíveis na classe JWindow trabalhamos com o conceito de herança;com o conceito de herança;
• Ao herdar-se as características da classe, podemos então configurar (tamanho/posição) e apresentar a janela que pretende-se manipular;
Aula 11: Interface Gráfica / Swing – Gil Eduardo de Andrade
Manipulando Janelas
Criando uma Janela – Herança “JWindow”
Aula 11: Interface Gráfica / Swing – Gil Eduardo de Andrade
Manipulando Janelas
Criando uma Janela – Classe Main
Aula 11: Interface Gráfica / Swing – Gil Eduardo de Andrade
Resultado da Execução
Manipulando Janelas
A classe ”JFrame” (import javax.swing.JFrame)
• Para utilizarmos todas as funcionalidades disponíveis na classe JFrame trabalhamos com o conceito de herança;o conceito de herança;
• Ao herdar-se as características da classe, podemos então configurar (tamanho/posição) e apresentar a janela que pretende-se manipular;
Aula 11: Interface Gráfica / Swing – Gil Eduardo de Andrade
Manipulando Janelas
Criando uma Janela – Herança JFrame
Aula 11: Interface Gráfica / Swing – Gil Eduardo de Andrade
Manipulando Janelas
Criando uma Janela – Classe Main
Aula 11: Interface Gráfica / Swing – Gil Eduardo de Andrade
Resultado da Execução
Métodos úteis da JFrame
Método: setLocationRelativeTo()
• O método setLocationRelativeTo(), permite posicionar, de forma prática, um JFrame no centro da tela;centro da tela;
• Para isso, passa-se como parâmetro ao método o valor null, que indica que a sua posição não é relativa a nenhum outro componente;
Aula 11: Interface Gráfica / Swing – Gil Eduardo de Andrade
Manipulando Janelas
Método: setLocationRelativeTo()
Aula 11: Interface Gráfica / Swing – Gil Eduardo de Andrade
* Importante observar que o método deve ser chamado
após a definição do tamanho da janela, e de preferência,
uma linha antes do método setVisible(true);
Manipulando Janelas
Método: setLocationRelativeTo()
Aula 11: Interface Gráfica / Swing – Gil Eduardo de Andrade
Resultado da
Execução
Métodos úteis da JFrame
Método: setDefaultCloseOperation()
• O método setDefaultCloseOperation(), permite
definir o que deve ser feito quando o usuário definir o que deve ser feito quando o usuário
clicar no ícone de fechamento do JFrame;
• O método é utilizado, normalmente, para finalizar
a execução de JFrame;
• Para tal passamos como parâmetro o valor
“EXIT_ON_CLOSE” pertencente a classe JFrame;
Aula 11: Interface Gráfica / Swing – Gil Eduardo de Andrade
Métodos úteis da JFrame
Método: setDefaultCloseOperation()
Aula 11: Interface Gráfica / Swing – Gil Eduardo de Andrade
* Importante observar que o método normalmente é
usado dentro do construtor da classe implementada
para criar uma janela;
Obtendo a resolução de tela
Classes “Dimension” e “Tookilt”(import java.awt.Dimension) (import java.awt.Toolkit)
• A classe Toolkit permite obter a resolução ou dimensão da tela, isso é possível através da dimensão da tela, isso é possível através da invocação conjunta dos métodos getDefaultToolkit().getScreenSize();
• Como retorno a invocação conjunta dos dois métodos tem-se um objeto da classe Dimension, contendo os valores da resolução;
Aula 11: Interface Gráfica / Swing – Gil Eduardo de Andrade
Obtendo a resolução de tela
Classes “Dimension” e “Tookilt”
• Com o objeto Dimension em mãos, basta
acessar os atributos width e height;acessar os atributos width e height;
Aula 11: Interface Gráfica / Swing – Gil Eduardo de Andrade
Manipulando Janelas
Classes “Dimension” e “Tookilt”
Aula 11: Interface Gráfica / Swing – Gil Eduardo de Andrade
Resultado da
Execução
Eventos em Java
Pacote “Event” (import java.awt.event.*)
• As interfaces gráficas em Java são, em sua maioria, orientadas a eventos, ou seja, quando um usuário pressiona uma tecla ou maioria, orientadas a eventos, ou seja, quando um usuário pressiona uma tecla ou clica em um botão um evento é gerado;
• Sendo assim, o evento gerado tem como objetivo tratar a ação do usuário, seja ela pressionar uma tecla ou clicar num botão;
Aula 11: Interface Gráfica / Swing – Gil Eduardo de Andrade
Eventos em Java
Classes “Event”
• Entretanto para que seja possível que o
sistema operacional ouça o evento é preciso sistema operacional ouça o evento é preciso
registrá-lo;
• Esse registro é feito de acordo com o tipo de
evento, existindo classes específicas para cada
um deles dento do pacote event.*;
Aula 11: Interface Gráfica / Swing – Gil Eduardo de Andrade
Eventos do teclado em Java
Classes “KeyEvent” e “KeyListener”(import java.awt.event.KeyEvent) (import java.awt.event.KeyListener)
• Para registrar um evento do teclado utiliza-se o método addKeyListener(), passando como método addKeyListener(), passando como parâmetro o objeto da classe que pretende capturar e tratar os eventos;
• A KeyListener é uma interface para que seja possível implementar o código que deve ser executado para tratar um evento do teclado;
Aula 11: Interface Gráfica / Swing – Gil Eduardo de Andrade
Eventos do teclado em Java
Implementando uma “KeyListener”
• Sendo assim a classe utilizada para criar uma janela precisa implementar (implements) a janela precisa implementar (implements) a interface keyListener;
• E os métodos abstratos keyPressed(), keyReleased() e keyTyped() devem ser declarados e, se necessário, implementados dentro da mesma;
Aula 11: Interface Gráfica / Swing – Gil Eduardo de Andrade
Eventos do teclado em Java
Implementando uma “KeyListener”
Aula 11: Interface Gráfica / Swing – Gil Eduardo de Andrade
Eventos do teclado em Java
Implementando uma “KeyListener”
Aula 11: Interface Gráfica / Swing – Gil Eduardo de Andrade
Resultado da
Execução
Eventos do teclado em Java
Implementando uma “KeyListener”
• No exemplo anterior o tratamento dos
eventos da keyListener foi feito pela classe que eventos da keyListener foi feito pela classe que
estender da JFrame criando uma janela;
• Entretanto, por questões de organização, é
recomendável que a implementação da
keyListener seja feita por outra classe;
Aula 11: Interface Gráfica / Swing – Gil Eduardo de Andrade
Eventos do teclado em Java
Implementando uma “KeyListener”
Aula 11: Interface Gráfica / Swing – Gil Eduardo de Andrade