Orientação a Objetos
Interface Gráfica – Swing
JWindow / JFrame – KeyListenner
Gil Eduardo de Andrade
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;
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
Manipulando Janelas
Manipulando Janelas
Criando uma Janela – Classe Main
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
Manipulando Janelas
Manipulando Janelas
Criando uma Janela – Classe Main
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
Manipulando Janelas
Método: setLocationRelativeTo()
* 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()
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
Métodos úteis da JFrame
Método: setDefaultCloseOperation()
* Importante observar que o método normalmente é usado dentro do construtor da classe implementada
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;
Obtendo a resolução de tela
Classes “Dimension” e “Tookilt”
• Com o objeto Dimension em mãos, basta acessar os atributos width e height;
Manipulando Janelas
Classes “Dimension” e “Tookilt”
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;
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.*;
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
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;
Eventos do teclado em Java
Eventos do teclado em Java
Implementando uma “KeyListener”
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