2. ¿QUE ES UN EVENTO?
• Las aplicaciones de Java pueden crear interfaces de usuario, y así permitir que estos últimos lleven a
cabo tareas de aplicaciones. Dentro de estas interfaces el código de Java debe ser capaz de responder a
la interacción y adaptar el procesamiento a las acciones que el usuario realice. Los eventos de Java son
un elemento clave para esta técnica, ya que proporcionan programas con la capacidad para detectar
dicha interacción del usuario. La programación con eventos en Java involucra diversas actividades.
• al comenzar la ejecución del programa se llevarán a cabo las inicializaciones y demás código inicial y a
continuación el programa quedará bloqueado hasta que se produzca algún evento. Cuando alguno de
los eventos esperados por el programa tenga lugar, el programa pasará a ejecutar el código del
correspondiente administrador de evento. Por ejemplo, si el evento consiste en que el usuario ha hecho
click en el botón de play de un reproductor de películas, se ejecutará el código del administrador de
evento, que será el que haga que la película se muestre por pantalla.
3. EJEMPLO DE UNA CODIFICACIÓN DE UN
PROGRAMA EN JAVA
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
1 // Demostración de los eventos de pulsación de tecla.
2 import java.awt.*;
3 import java.awt.event.*;
4 import javax.swing.*;
5
6 public class DemoTeclas extends JFrame implements KeyListener {
7 private String linea1 = "", linea2 = "", linea3 = "";
8 private JTextArea areaTexto;
9
10 // configurar GUI
11 public DemoTeclas()
12 {
13
super( "Demostración de eventos de pulsación de tecla" );
14
15
// establecer objeto JTextArea
16
areaTexto = new JTextArea( 10, 15 );
17
areaTexto.setText( "Oprima cualquier tecla en el teclado..." );
18
areaTexto.setEnabled( false );
19
areaTexto.setDisabledTextColor( Color.blue );
20
getContentPane().add( areaTexto );
21
22
addKeyListener( this ); // permitir al marco procesar eventos de teclas
23
24
setSize( 350, 100 );
25
setVisible( true );
26
27 } // fin del constructor de DemoTeclas
28
29 // manejar evento de pulsación de cualquier tecla
30 public void keyPressed( KeyEvent evento )
31 {
32
linea1 = "Se oprimió tecla: " + evento.getKeyText( evento.getKeyCode() );
33
establecerLineas2y3( evento );
34 }
35
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
36 // manejar evento de liberación de cualquier tecla
37 public void keyReleased( KeyEvent evento )
38 {
39
linea1 = "Se soltó tecla: " + evento.getKeyText( evento.getKeyCode() );
40
establecerLineas2y3( evento );
41 }
42
43 // manejar evento de pulsación de una tecla de acción
44 public void keyTyped( KeyEvent evento )
45 {
46
linea1 = "Se escribió tecla: " + evento.getKeyChar();
47
establecerLineas2y3( evento );
48 }
49
50 // establecer segunda y tercera líneas de salida
51 private void establecerLineas2y3( KeyEvent evento )
52 {
53
linea2 = "Esta tecla " + ( evento.isActionKey() ? "" : "no " ) +
54
"es una tecla de acción";
55
56
String temp = evento.getKeyModifiersText( evento.getModifiers() );
57
58
linea3 = "Teclas modificadoras oprimidas: " +
59
( temp.equals( "" ) ? "ninguna" : temp );
60
61
areaTexto.setText( linea1 + "n" + linea2 + "n" + linea3 + "n" );
62 }
63
64 public static void main( String args[] )
65 {
66
DemoTeclas aplicacion = new DemoTeclas();
67
aplicacion.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
68 }
69
70 } // fin de la clase DemoTeclas