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 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 (importjavax.swing.jwindow) Para utilizarmos todas as funcionalidades disponíveis na classe JWindowtrabalhamos 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;
Manipulando Janelas Criando uma Janela Herança JWindow
Manipulando Janelas Criando uma Janela Classe Main Resultado da Execução
Manipulando Janelas A classe JFrame (importjavax.swing.jframe) Para utilizarmos todas as funcionalidades disponíveis na classe JFrametrabalhamos 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;
Manipulando Janelas Criando uma Janela Herança JFrame
Manipulando Janelas Criando uma Janela Classe Main Resultado da Execução
Métodos úteis da JFrame Método: setlocationrelativeto() O método setlocationrelativeto(), permite posicionar, de forma prática, um JFrameno 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;
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 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;
Métodos úteis da JFrame Método: setdefaultcloseoperation() * 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 Toolkitpermite obter a resolução ou 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 Dimensionem 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 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 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 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;
Eventos do teclado em Java Implementando uma KeyListener Sendo assim a classe utilizada para criar uma 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 Implementando uma KeyListener
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 keylistenerfoi 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;
Eventos do teclado em Java Implementando uma KeyListener
Eventos do teclado em Java Implementando uma KeyListener