Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Manejo Eventos Swing
Manejo Eventos Swing
Accin o evento
ActionListener
WindowListener
MouseListener
MouseMotionListener
FocusListener
ListSelectionListener
1
2
3
4
Programa que utilice los eventos del Mouse, para imprimir las coordenadas X y
Y del Mouse.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class EventosRaton extends JApplet implements MouseListener
{
5
public void init()
{
6
addMouseListener(this);
}
7 public void mousePressed(MouseEvent e) {
8
showStatus("Mouse Presionado; # de veces: "+ e.getClickCount()+" en X="+ e.getX()
+ " en Y="+e.getY() );
}
9 public void mouseReleased(MouseEvent e) {
showStatus("Mouse Liberado; # de veces: " + e.getClickCount()+" en X="+ e.getX()+ "
en Y="+e.getY() );
}
10 public void mouseEntered(MouseEvent e) {
11 showStatus("Mouse en pantalla:"+ " en X="+ e.getX()+ " en Y="+e.getY() );
}
12 public void mouseExited(MouseEvent e) {
13
Anlisis programa
Lnea 7 - 15: Se define la interface MouseListener, crendose el oidor
addMouseListener en la lnea 6, lo que permitir la creacin de cada mtodo de
eventos del Mouse. Cada mtodo permitir visualizar la operacin realizada con el
Mouse, como tambin la posicin X y Y donde ocurri el evento.
Figura 9.1. Ejecucin programa EventosRaton
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
44
45
46
47
48
49
50
51
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class EventosTeclado extends JFrame implements KeyListener
{
JTextArea informacion;
JTextField texto;
JPanel principal;
String linea,cadena, codigotecla;
public EventosTeclado()
{
super("Eventos del Teclado");
Container contenedor=getContentPane();
contenedor.setLayout(new FlowLayout());
linea = System.getProperty("line.separator");
texto=new JTextField(20);
informacion=new JTextArea(6,20);
informacion.setEditable(false);
texto.addKeyListener(this);
principal=new JPanel();
principal.add(texto);
JScrollPane visualizacion = new JScrollPane(informacion);
contenedor.add(principal, BorderLayout.NORTH);
contenedor.add(visualizacion, BorderLayout.CENTER);
setSize(300,200);
setVisible(true);
}
public void keyTyped(KeyEvent e) {
char tecla = e.getKeyChar();
int codigo = e.getKeyCode();
if (Character.isISOControl(tecla)) {
cadena = "tecla pulsada = (an unprintable control character)";
}
else {
cadena = "tecla pulsada = '" + tecla + "'";
}
codigotecla ="Codigo Tecla = " + codigo + " ("+ KeyEvent.getKeyText(codigo)+ ")";
informacion.append("EVENTO KEYTYPED: " + linea + " "+ cadena+ linea + " "
+ codigotecla + linea );
}
public void keyPressed(KeyEvent e) {
char tecla = e.getKeyChar();
int codigo = e.getKeyCode();
if (Character.isISOControl(tecla)) {
cadena = "tecla presionada = (caracter de control no imprimible)";
}
else
{
cadena = "tecla presionada = '" + tecla + "'";
}
codigotecla = "Codigo Tecla = " + codigo+ " ("+KeyEvent.getKeyText(codigo)+ ")";
informacion.append("EVENTO KEYPRESSED: "+ linea + " "+ cadena+ linea + " "
+ codigotecla+ linea);
}
public void keyReleased(KeyEvent e) {
char tecla = e.getKeyChar();
int codigo = e.getKeyCode();
if (Character.isISOControl(tecla)) {
cadena = "Tecla liberada = (caracter de control no imprimible)";
}
52
else
{
cadena = "Tecla Liberada = '" + tecla + "'";
}
codigotecla = "Codigo Tecla = " + codigo+ " ("+ KeyEvent.getKeyText(codigo)+ ")";
informacion.append("EVENTO KEYRELEASED: " + linea + " "+ cadena+ linea + "
+ codigotecla+ linea);
}
public static void main(String args[])
{
EventosTeclado ventana = new
EventosTeclado();
ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
53
54
55
56
58
59
"
Anlisis programa
Lnea 25 - 55: Se define la interface KeyListener, crendose el oidor addKeyListener
en la lnea 17, lo que permitir la creacin de cada mtodo de eventos del teclado. Cada
mtodo permitir visualizar la operacin realizada con el teclado: cdigo de la tecla
pulsada, el evento asociado, la tecla pulsada, as como el cdigo de la tecla cuando es
liberada.
Figura 9.2. Ejecucin programa EventosTeclado