26
Orientação a Objetos Interface Gráfica – Swing JWindow / JFrame KeyListenner Gil Eduardo de Andrade JWindow / JFrame KeyListenner

Orientação a Objetos - Gil Eduardo de Andrade · Eventos em Java Pacote “ Event ... capturar e tratar os eventos; • A KeyListener é uma interface para que seja possível implementar

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

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

Eventos do teclado em Java

Implementando uma “KeyListener”

Aula 11: Interface Gráfica / Swing – Gil Eduardo de Andrade