PDF de programación - Interfaz gráfica de usuario - Eventos

Imágen de pdf Interfaz gráfica de usuario - Eventos

Interfaz gráfica de usuario - Eventosgráfica de visualizaciones

Publicado el 17 de Septiembre del 2018
645 visualizaciones desde el 17 de Septiembre del 2018
148,9 KB
7 paginas
Creado hace 19a (09/12/2004)
Java - Interfaz Gráfico De Usuario (AWT) - Eventos

3 Eventos de teclado y de ventana

La Güeb de Joaquín
Programación JAVA


INTERFAZ GRÁFICO DE USUARIO

EVENTOS



3 EVENTOS DE TECLADO Y DE VENTANA


3 EVENTOS DE TECLADO Y DE VENTANA

3.1 Introducción
3.2 Eventos de teclado
3.3 Eventos de ventana

3.1 Introducción

Los eventos de teclado se capturan haciendo uso de los siguientes interfaces (o adaptadores) y
eventos:

Evento
KeyEvent
WindowEvent


Interface
KeyListener
WindowListener

Adaptador
KeyAdapter
WindowAdapter

Imagen 080301



A continuación, se presenta un resumen de los objetos más importantes en el proceso de
tratamiento de eventos de teclado y de ventana:



1

Java - Interfaz Gráfico De Usuario (AWT) - Eventos

3 Eventos de teclado y de ventana

• keyPressed(KeyEvent e) Se ha presionado una tecla
• kevReleased(KevEvent e) Se ha terminado la presión de una tecla
• keyTyped(KeyEvent e) Se ha presionado (en algunas ocasiones presionado y soltado)


KeyListener

una tecla

WindowListener

• windowActivated(windowEvent e) La ventana pasa a ser la activa
• windowDeactivated(windowEvent e) La ventana deja de ser la activa
• windowOpened(windowEvent e) La primera vez que la ventana se hace visible
• windowClosing(windowEvent e) El usuario indica que se cierre la ventana
• windowClosed(windowEvent e) La ventana se ha cerrado
• windowIconified(windowEvent e) La ventana pasa de estado normal a un estado

• windowDeiconified(windowEvent e) La ventana pasa de estado minimizado a un

minimizado

estado normal

KeyEvent

• Char getKeyCgar() Devuelve el carácter asociado con la tecla pulsada

Int getKeyCode() Devuelve el valor entero que representa la tecla pulsada
• String getKeyText() Devuelve un textoq ue representa el codigo de la tecla
• Object getSource() Método perteneciente a la clase EventObject. Indica el objeto que

produjo el evento

WilidowEvent



• Window getWindow() Devuelve la ventana que origina el evento
• Window getOppositeWindow() Devuelve la ventana involucrada en el cambio de





activación o de foco
int getNewState() Para WINDOW _STATE_CHANGED indica el nuevo estado de la
ventana
int getOldState() Para WINDOW_STATE_CHANGED indica el antiguo estado de la
ventana

• Object getSource() Método perteneciente a la clase EventObject. Indica el objeto Que

produjo el evento

3.2 Eventos de teclado

En este apartado vamos a desarrollar dos ejemplos que muestran el uso del interfaz
KeyListener, la clase KeyAdapter y el evento KeyEvent.

En el primer ejemplo utilizamos una clase de tratamiento de eventos de teclado
(InterrupcionDeTecladol) que escribe un texto por consola cada vez que se activa uno de los

2



Java - Interfaz Gráfico De Usuario (AWT) - Eventos

3 Eventos de teclado y de ventana


tres métodos que proporciona el interfaz KeyListener. Los métodos keyTyped, keyPressed y
keyReleased se implementan en las líneas 5, 9 Y 13.


Clase InterrupcionDeTeclado1


1 import java.awt.event.*;
2
3 public class InterrupcionDeTeclado1 implements KeyListener {
4
5 public void keyTyped(KeyEvent EventoQueLlega){
6 System.out.println("Tecla pulsada y soltada");
7 }
8
9 public void keyPressed(KeyEvent EventoQueLlega){
10 System.out.println("Tecla pulsada");
11 }
12
13 public void keyReleased(KeyEvent EventoQueLlega){
14 System.out.println("Tecla soltada");
15 }
16
17 }



Para probar el funcionamiento de la clase anterior, creamos PruebaEventos Tecladol (línea 3),
que incorpora un GUI en el que al panel MiPanelle añadimos una instancia del Listener
InterrupcionDeTecladol (línea 13).



Clase PruebaEventosTeclado1


1 import java.awt.*;
2
3 public class PruebaEventosTeclado1 {
4
5 public static void main(String[] args) {
6
7 Frame MiFrame = new Frame("Prueba eventos de raton");
8 Panel MiPanel = new Panel();
9 MiFrame.add(MiPanel);
10 MiFrame.setSize(200,300);
11 MiFrame.show();
12
13 MiPanel.addKeyListener(new InterrupcionDeTeclado1());
14
15 }
16 }



Imagen 080302



3

Java - Interfaz Gráfico De Usuario (AWT) - Eventos

3 Eventos de teclado y de ventana



Según el tipo de tecla pulsada (letras, teclas de función, etc.), la activación del evento
keyTyped puede variar.

Nuestro segundo ejemplo imprime por consola los caracteres tecleados hasta que pulsamos el
asterisco, momento en el que abandonamos de la aplicación. Para conseguir esta
funcionalidad, nos basta con hacer uso de un solo método del interfaz KeyListener. Para
facilitamos
la clase
InterrupcionDeTeclado2), sobrecargando únicamente el método keyTyped (cualquiera de los
otros dos métodos nos hubiera servido de igual manera).

En el método keyTyped (línea 5) imprimimos (línea 6) el carácter correspondiente a la tecla
pulsada; este carácter lo obtenemos invocando al método getKeyChar perteneciente a la clase
KeyEvent. Posteriormente, consultamos si su valor es un asterisco (línea 7), en cuyo caso
abandonamos la aplicación (línea 8).


labor empleamos el adaptador KeyAdapter

(línea 3 de

la

Clase InterrupcionDeTeclado2


1 import java.awt.event.*;
2
3 public class InterrupcionDeTeclado2 extends KeyAdapter {
4
5 public void keyTyped(KeyEvent e){
6 System.out.print(e.getKeyChar());
7 if (e.getKeyChar()=='*')
8 System.exit(0);
9 }
10
11 }


Tal y como hemos venido haciendo en ejercicios anteriores, implementamos una clase que
incorpora un GUI con algún elemento al que se le añade la rutina de tratamiento de
interrupción. En este caso la clase es PruebaEventosTeclado2 (línea 3) y el método
addKeyListener se utiliza en la línea 17.


Clase PruebaEventosTeclado2


1 import java.awt.*;
2
3 public class PruebaEventosTeclado2 {
4
5 public static void main(String[] args) {
6
7 Frame MiFrame = new Frame("Prueba eventos de raton");
8 Panel MiPanel = new Panel();
9 Button Boton1 = new Button("Silencio");
10 Button Boton2 = new Button("Máquina de escribir");
11 MiPanel.add(Boton1);
12 MiPanel.add(Boton2);
13 MiFrame.add(MiPanel);
14 MiFrame.setSize(200,300);
15 MiFrame.show();
16
17 Boton2.addKeyListener(new InterrupcionDeTeclado2());
18
4



Java - Interfaz Gráfico De Usuario (AWT) - Eventos

3 Eventos de teclado y de ventana

Imagen 080303a



Imagen 080303b



19 }
20 }



3.3 Eventos de ventana

En este apartado vamos a desarrollar un solo ejemplo que muestra el uso del interfaz
WindowListener y el evento WindowEvent. Simplemente, implementamos los métodos del
interfaz WindowListener para que imprima, cada uno, un texto significativo del evento.


Clase InterrupcionDeVentana1


1 import java.awt.event.*;
2
3 public class InterrupcionDeVentana1 implements WindowListener {
4
5 public void windowOpened(WindowEvent e) {
6 System.out.println("Ventana " + e.getWindow().getName() +
"abierta");
7 }
8
9 public void windowClosing(WindowEvent e) {
10 System.out.println("Si pulsas aqui se cierra la ventana "+
e.getWindow().getName() );
11 // System.exit(0);
12 }
13
14 public void windowClosed(WindowEvent e) {
15 System.out.println("Ventana " + e.getWindow().getName() +
" cerrada");
16 }
17
18 public void windowActivated(WindowEvent e) {
19 System.out.println("Ventana " + e.getWindow().getName() +
" activa (en uso)");
20 }
21
22 public void windowDeactivated(WindowEvent e) {
23 System.out.println("Ventana " + e.getWindow().getName() +
" desactivada (fuera de uso)");
24 }
25



5

Java - Interfaz Gráfico De Usuario (AWT) - Eventos

3 Eventos de teclado y de ventana


26 public void windowIconified(WindowEvent e) {
27 System.out.println("Ventana " + e.getWindow().getName() +
" minimizada");
28 }
29
30 public void windowDeiconified(WindowEvent e) {
31 System.out.println("Ventana " + e.getWindow().getName() +
" restaurada");
32 }
33
34 }


El programa de prueba PruebaEventosVentanal crea dos marcos (líneas 7 y 11) Y les añade
instancias de la clase de tratamiento de eventos de ventana InterrupcionDe Ventanal,
haciendo uso del método addWindow Listener (líneas 16 y 17).



Clase PruebaEventosVentana1


1 import java.awt.*;
2
3 public class PruebaEventosVentana1 {
4
5 public static void main(String[] args) {
6
7 Frame MiFrame = new Frame("Prueba eventos de ventana");
8 MiFrame.setSize(200,100);
9 MiFrame.show();
10
11 Frame OtroFrame = new Frame("Prueba eventos de ventana");
12 OtroFrame.setSize(100,50);
13 OtroFrame.setLocation(200,0);
14 OtroFrame.show();
15
16 MiFrame.addWindowListener(new InterrupcionDeVentana1());
17 OtroFrame.addWindowListener(new InterrupcionDeVentana1());
18
19 }
20 }
  • Links de descarga
http://lwp-l.com/pdf13524

Comentarios de: Interfaz gráfica de usuario - Eventos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad