SlideShare una empresa de Scribd logo
Distintas clases de Eventos
El paquete java.awt.event define varios tipos de eventos que son generados por varios
elementos de interfase de usuario. Entre los más comunes eventos utilizados están las
siguientes clases:
Clase de Evento Descripción
ActionEvent Generado cuando un botón es seleccionado, una
lista (vista mas adelante)tiene un doble clic
o un menú es seleccionado
AdjustmentEvent Generado cuando un barra de desplazamiento es manipulada
ComponentEvent Generado cuando un componente es escondido, movido,
cambiado de tamaño, o se hace visible.
ItemEvent Generado cuando una caja de chequeo (vista mas adelante)
es seleccionada con el ratón.
Distintas clases de Escuchadores
Los escuchadores son creados para implementar una o más de las interfases definidas por
el paquete java.awt.event. Cuando un evento ocurre el evento fuente invoca el método
apropiado definido por el escuchador y provee un objeto tipo evento como su argumento.
Entre los más comunes estan:
Clase de Interfase Descripción
ActionListener Define un método para recibir eventos de acción
(ActionEvent)
AdjustmentListener Define un método para recibir eventos de deslizadores
(AdjustmentEvent)
ComponentListener Define cuatro método para reconocer cuando un componente
es escondido, movido, cambiado de tamaño o mostrado
(ComponentEvent).
ItemListener Define un método para reconocer cuando el estado
De un campo cambia (ItemEvent).
Es importante que si queremos revisar los métodos que requerimos entremos a revisar en
la documentación de Java (www.java.sun.com) las clases mostradas anteriormente para
saber que métodos podemos utilizar para implementar el evento deseado.
A continuación mostramos algunos eventos diferentes a los de botón.
Eventos de Barra de Desplazamiento
En estos eventos hacemos uso de barras de desplazamiento para realizar alguna instrucción
II. Desarrollo de aplicaciones con interfaz
gráfica y manejo de clases y objetos
o grupo de instrucciones, y para esto es importante tomar eventos de la clase Scrollbar.
Los objetos de la clase Srollbar son escuchados a través de implementar una interfaz llamada
AdjustmentListener, la cual utiliza el método adjustmentValueChanged, un método muy
parecido al actionPerformed, pero trabaja sobre diferentes elementos de interfaz gráfica.
Para entender este applet debemos consultar la clase ScrollBar que se encuentra en el
paquete java.awt. Esta clase tiene diferentes constructores que pueden ser utilizados para
crear el objeto de la barra deslizadora, tomemos uno de los disponibles en la siguiente tabla
que aparece en las clases de la API de Java:
Tomemos el tercer constructor, el cual es utilizado en este ejemplo, primero esta la
orientación, que es un entero y en este caso utilizaremos uno definido en la misma clase
Scrollbar.HORIZONTAL, después viene un valor que es el valor inicial con el que queremos
que empiece la barra deslizadora, después esta el valor visible, si queremos que se vea
definimos un 1, posteriormente el valor mínimo de la barra, y el máximo numero de números
a tener.
Veamos el applet:
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
// <applet width="150" height="200" code="AppletEventos2"></applet>
public class AppletEventos2 extends Applet implements AdjustmentListener {
Label l;
Scrollbar s;
TextField t;
public AppletEventos2() {
l = new Label("Valor de la barra de Scroll");
t = new TextField(3);
s = new Scrollbar(Scrollbar.HORIZONTAL, 0, 1, 0, 100);
add(s);
add(l);
add(t);
s.addAdjustmentListener(this);
}
public void adjustmentValueChanged(AdjustmentEvent ae) {
int valor = s.getValue();
t.setText(""+valor);
}
}
Dicho applet muestra una barra de scroll que al ser deslizada muestra un valor en el campo
texto, como aparece en seguida:
Utilizamos el método getValue de la clase Scrollbar para tomar el valor de la barra
deslizadora en base al movimiento que el usuario hizo en ella.
Otro ejemplo que puede ilustrar mejor el uso de una barra deslizadora es el siguiente:
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
// <applet width="150" height="200" code="AppletEventos3"></applet>
public class AppletEventos3 extends Applet implements AdjustmentListener {
Scrollbar s;
int barra = 0;
public AppletEventos3() {
s = new Scrollbar(Scrollbar.HORIZONTAL, 0, 1, 0, 100);
add(s);
s.addAdjustmentListener(this);
}
public void paint(Graphics g) {
g.drawRect(40, 80, 60, 100);
g.fillRect(40, 80, 60, barra);
}
public void adjustmentValueChanged(AdjustmentEvent ae) {
barra = s.getValue();
repaint();
}
}
En este ejemplo al mover la barra deslizadora se ve como va cambiando el llenado del
rectángulo, utilizando para ello el método fillRect de la clase Graphics, el cual tiene como
parámetros la coordenada en x, la coordenada en y, el ancho y el alto en pixeles, rellenando
de color negro dependiendo del valor de la barra, es por esto que en el método paint() se
utiliza la variable barra:
En el caso de este applet recurrimos a utilizar el método paint() para que se redibuje cada
vez que se mueve la barra deslizadora, utilizando el metodo fillRect() rellenamos la parte del
rectángulo. Es importante hacer notar que la variable barra se definió al inicio de la clase,
para que cualquier método la pueda utilizar sin problemas.
Eventos del Ratón
Para implementar este tipo de eventos debemos implementar la interfaz MouseListener y
MouseMotionListener.
A continuación se muestra un ejemplo de applet que los utiliza. Cada vez que el botón es
presionado la palabra “Abajo” es desplegada en el lugar donde está el apuntador del ratón.
Cada vez que el ratón es liberado, la palabra “Arriba” es mostrada. Si un botón es oprimido el
mensaje “Ratón oprimido” es desplegado en la esquina superior izquierda del área del applet.
Cada vez que el ratón entra o sale del área del applet, un mensaje es desplegado. Cuando el
ratón es arrastrado, un asterisco es mostrado, el cual es arrastrado con el apuntador del
ratón. Es importante notar las dos variables mouseX y mouseY que guardan los lugares del
ratón, cuando ocurre uno de los siguientes eventos del ratón: presionado, liberado, o
arrastrado. Estas coordenadas son utilizadas dentro del método paint().
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
// <applet width="150" height="200" code="MouseEvents"></applet>
public class MouseEvents extends Applet implements MouseListener,
MouseMotionListener {
String msg = "";
int mouseX = 0;
int mouseY = 0;
public void init() {
addMouseListener(this); // se añade el escuchador del ratón
//a este applet
addMouseMotionListener(this); // se añande el escuchador del movimiento
// del raton a este applet
}
// cuando se da un clic en el ratón
public void mouseClicked(MouseEvent me) {
mouseX = 0;
mouseY = 10;
msg = "Ratón Oprimido";
repaint();
}
// cuando el ratón entra
public void mouseEntered(MouseEvent me) {
mouseX = 0;
mouseY = 10;
msg = "Ratón Entra";
repaint();
}
// cuando sale el ratón
public void mouseExited(MouseEvent me) {
mouseX = 0;
mouseY = 10;
msg = "Ratón Sale";
repaint();
}
// cuando se presiona el ratón
public void mousePressed(MouseEvent me) {
mouseX = me.getX(); // se toma el valor de la coordenada de x
mouseY = me.getY(); // se toma el valor de la coordenada de y
msg = "Abajo";
repaint();
}
// cuando se libera el ratón
public void mouseReleased(MouseEvent me) {
mouseX = me.getX();
mouseY = me.getY();
msg = "Arriba";
repaint();
}
// cuando se arrastra el ratón
public void mouseDragged(MouseEvent me) {
mouseX = me.getX();
mouseY = me.getY();
msg = "*";
showStatus("Moviendo el raton en " + mouseX + "," + mouseY);
repaint();
}
// moviendo el ratón
public void mouseMoved(MouseEvent me) {
showStatus("Moviendo el raton en " + mouseX + "," + mouseY);
}
// desplegando el mensaje en el applet
public void paint(Graphics g) {
g.drawString(msg, mouseX, mouseY);
}
}
Algunas vistas del applet se dan a continuación:
2 desarrollo interfaz_grafico-capitulo1-02otroseventos
2 desarrollo interfaz_grafico-capitulo1-02otroseventos

Más contenido relacionado

PPT
6.eventos y swing
PPT
6.eventos y swing
PPTX
Manejo de eventos en java
PPT
Manejo de Eventos en java
PDF
Control de eventos en gui
PDF
Java Gestion Eventos
DOCX
PDF
Sesion12-Componentes AWT
6.eventos y swing
6.eventos y swing
Manejo de eventos en java
Manejo de Eventos en java
Control de eventos en gui
Java Gestion Eventos
Sesion12-Componentes AWT

La actualidad más candente (18)

PPT
Eventos en Java
PPTX
interfaz grafica
PPT
Event Programing & Driven Mediator Pattern
PPT
Eventos
PPT
Programación III (Java) - 07 Eventos
PPTX
Menejo de eventos en java introduccion
DOCX
Clase event
PPTX
Interfaz gráfica de usuario
DOCX
PPTX
Eventos
DOCX
Describa brevemente la forma de crear macros en excel
PDF
Programación de Videojuegos con Python y Pilas (VIII)
PPTX
Funcionamiento De Los Filtros
PPT
AWT- JAVA
PPTX
Presentación1
DOCX
Main
PPT
Tipos De Comportamiento
DOCX
Botones swing 14 11-2012
Eventos en Java
interfaz grafica
Event Programing & Driven Mediator Pattern
Eventos
Programación III (Java) - 07 Eventos
Menejo de eventos en java introduccion
Clase event
Interfaz gráfica de usuario
Eventos
Describa brevemente la forma de crear macros en excel
Programación de Videojuegos con Python y Pilas (VIII)
Funcionamiento De Los Filtros
AWT- JAVA
Presentación1
Main
Tipos De Comportamiento
Botones swing 14 11-2012
Publicidad

Similar a 2 desarrollo interfaz_grafico-capitulo1-02otroseventos (20)

PPT
6.eventos y swing
DOCX
Practica eventos
RTF
Java
PDF
Programando bajo el paradigma orientado a objetos, parte uno
PPTX
Eventos del ratón en Java
PPTX
Manejoevento
PPT
ManejoDeEventosEnJava.PPT
PPT
Interfaces Usuario 3
PDF
inv unidad 1 topicos avanzados de programacion
PPT
Manejo Eventos en java
PPT
Manejo Eventos en java
PPT
Manejo de eventos
PPT
Manejo Eventos
PDF
Java construye las interfaces gráficas del usuario mediante awt
PPT
Temaswing
PPT
Clase 5 JAVA 2012
DOCX
Manejos de eventos john kevin castillo palacios
PDF
2 interfaces graficas_de_usuario (1)
PPSX
03 interfaces gráficas awt
PDF
Semana 5 Java Swing
6.eventos y swing
Practica eventos
Java
Programando bajo el paradigma orientado a objetos, parte uno
Eventos del ratón en Java
Manejoevento
ManejoDeEventosEnJava.PPT
Interfaces Usuario 3
inv unidad 1 topicos avanzados de programacion
Manejo Eventos en java
Manejo Eventos en java
Manejo de eventos
Manejo Eventos
Java construye las interfaces gráficas del usuario mediante awt
Temaswing
Clase 5 JAVA 2012
Manejos de eventos john kevin castillo palacios
2 interfaces graficas_de_usuario (1)
03 interfaces gráficas awt
Semana 5 Java Swing
Publicidad

Último (20)

PDF
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
PDF
2.0 Introduccion a processing, y como obtenerlo
PDF
1. Intrdoduccion y criterios de seleccion de Farm 2024.pdf
PDF
Como Potenciar las Emociones Positivas y Afrontar las Negativas Ccesa007.pdf
DOCX
Informe_practica pre Final.docxddadssasdddddddddddddddddddddddddddddddddddddddd
PPTX
Welcome to the 8th Physical Science Class 2025-2026
PDF
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE.pdf
PDF
TOMO II - LITERATURA.pd plusenmas ultras
PDF
5°-UNIDAD 5 - 2025.pdf aprendizaje 5tooo
PDF
Escuelas Desarmando una mirada subjetiva a la educación
PPTX
Presentación de la Cetoacidosis diabetica.pptx
PDF
La Evaluacion Formativa en Nuevos Escenarios de Aprendizaje UGEL03 Ccesa007.pdf
PPTX
caso clínico iam clinica y semiología l3.pptx
PDF
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf
PDF
COMPLETO__PROYECTO_VIVAN LOS NIÑOS Y SUS DERECHOS_EDUCADORASSOS.pdf
PDF
Mi Primer Millon - Poissant - Godefroy Ccesa007.pdf
DOCX
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
PDF
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
PDF
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
PDF
ciencias-1.pdf libro cuarto basico niños
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
2.0 Introduccion a processing, y como obtenerlo
1. Intrdoduccion y criterios de seleccion de Farm 2024.pdf
Como Potenciar las Emociones Positivas y Afrontar las Negativas Ccesa007.pdf
Informe_practica pre Final.docxddadssasdddddddddddddddddddddddddddddddddddddddd
Welcome to the 8th Physical Science Class 2025-2026
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE.pdf
TOMO II - LITERATURA.pd plusenmas ultras
5°-UNIDAD 5 - 2025.pdf aprendizaje 5tooo
Escuelas Desarmando una mirada subjetiva a la educación
Presentación de la Cetoacidosis diabetica.pptx
La Evaluacion Formativa en Nuevos Escenarios de Aprendizaje UGEL03 Ccesa007.pdf
caso clínico iam clinica y semiología l3.pptx
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf
COMPLETO__PROYECTO_VIVAN LOS NIÑOS Y SUS DERECHOS_EDUCADORASSOS.pdf
Mi Primer Millon - Poissant - Godefroy Ccesa007.pdf
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
ciencias-1.pdf libro cuarto basico niños

2 desarrollo interfaz_grafico-capitulo1-02otroseventos

  • 1. Distintas clases de Eventos El paquete java.awt.event define varios tipos de eventos que son generados por varios elementos de interfase de usuario. Entre los más comunes eventos utilizados están las siguientes clases: Clase de Evento Descripción ActionEvent Generado cuando un botón es seleccionado, una lista (vista mas adelante)tiene un doble clic o un menú es seleccionado AdjustmentEvent Generado cuando un barra de desplazamiento es manipulada ComponentEvent Generado cuando un componente es escondido, movido, cambiado de tamaño, o se hace visible. ItemEvent Generado cuando una caja de chequeo (vista mas adelante) es seleccionada con el ratón. Distintas clases de Escuchadores Los escuchadores son creados para implementar una o más de las interfases definidas por el paquete java.awt.event. Cuando un evento ocurre el evento fuente invoca el método apropiado definido por el escuchador y provee un objeto tipo evento como su argumento. Entre los más comunes estan: Clase de Interfase Descripción ActionListener Define un método para recibir eventos de acción (ActionEvent) AdjustmentListener Define un método para recibir eventos de deslizadores (AdjustmentEvent) ComponentListener Define cuatro método para reconocer cuando un componente es escondido, movido, cambiado de tamaño o mostrado (ComponentEvent). ItemListener Define un método para reconocer cuando el estado De un campo cambia (ItemEvent). Es importante que si queremos revisar los métodos que requerimos entremos a revisar en la documentación de Java (www.java.sun.com) las clases mostradas anteriormente para saber que métodos podemos utilizar para implementar el evento deseado. A continuación mostramos algunos eventos diferentes a los de botón. Eventos de Barra de Desplazamiento En estos eventos hacemos uso de barras de desplazamiento para realizar alguna instrucción II. Desarrollo de aplicaciones con interfaz gráfica y manejo de clases y objetos
  • 2. o grupo de instrucciones, y para esto es importante tomar eventos de la clase Scrollbar. Los objetos de la clase Srollbar son escuchados a través de implementar una interfaz llamada AdjustmentListener, la cual utiliza el método adjustmentValueChanged, un método muy parecido al actionPerformed, pero trabaja sobre diferentes elementos de interfaz gráfica. Para entender este applet debemos consultar la clase ScrollBar que se encuentra en el paquete java.awt. Esta clase tiene diferentes constructores que pueden ser utilizados para crear el objeto de la barra deslizadora, tomemos uno de los disponibles en la siguiente tabla que aparece en las clases de la API de Java: Tomemos el tercer constructor, el cual es utilizado en este ejemplo, primero esta la orientación, que es un entero y en este caso utilizaremos uno definido en la misma clase Scrollbar.HORIZONTAL, después viene un valor que es el valor inicial con el que queremos que empiece la barra deslizadora, después esta el valor visible, si queremos que se vea definimos un 1, posteriormente el valor mínimo de la barra, y el máximo numero de números a tener. Veamos el applet: import java.awt.*; import java.applet.*; import java.awt.event.*; // <applet width="150" height="200" code="AppletEventos2"></applet> public class AppletEventos2 extends Applet implements AdjustmentListener { Label l; Scrollbar s; TextField t; public AppletEventos2() { l = new Label("Valor de la barra de Scroll"); t = new TextField(3); s = new Scrollbar(Scrollbar.HORIZONTAL, 0, 1, 0, 100); add(s); add(l); add(t); s.addAdjustmentListener(this);
  • 3. } public void adjustmentValueChanged(AdjustmentEvent ae) { int valor = s.getValue(); t.setText(""+valor); } } Dicho applet muestra una barra de scroll que al ser deslizada muestra un valor en el campo texto, como aparece en seguida: Utilizamos el método getValue de la clase Scrollbar para tomar el valor de la barra deslizadora en base al movimiento que el usuario hizo en ella. Otro ejemplo que puede ilustrar mejor el uso de una barra deslizadora es el siguiente: import java.awt.*; import java.applet.*; import java.awt.event.*; // <applet width="150" height="200" code="AppletEventos3"></applet> public class AppletEventos3 extends Applet implements AdjustmentListener { Scrollbar s; int barra = 0; public AppletEventos3() { s = new Scrollbar(Scrollbar.HORIZONTAL, 0, 1, 0, 100); add(s); s.addAdjustmentListener(this); } public void paint(Graphics g) { g.drawRect(40, 80, 60, 100); g.fillRect(40, 80, 60, barra); }
  • 4. public void adjustmentValueChanged(AdjustmentEvent ae) { barra = s.getValue(); repaint(); } } En este ejemplo al mover la barra deslizadora se ve como va cambiando el llenado del rectángulo, utilizando para ello el método fillRect de la clase Graphics, el cual tiene como parámetros la coordenada en x, la coordenada en y, el ancho y el alto en pixeles, rellenando de color negro dependiendo del valor de la barra, es por esto que en el método paint() se utiliza la variable barra: En el caso de este applet recurrimos a utilizar el método paint() para que se redibuje cada vez que se mueve la barra deslizadora, utilizando el metodo fillRect() rellenamos la parte del rectángulo. Es importante hacer notar que la variable barra se definió al inicio de la clase, para que cualquier método la pueda utilizar sin problemas. Eventos del Ratón Para implementar este tipo de eventos debemos implementar la interfaz MouseListener y MouseMotionListener. A continuación se muestra un ejemplo de applet que los utiliza. Cada vez que el botón es presionado la palabra “Abajo” es desplegada en el lugar donde está el apuntador del ratón. Cada vez que el ratón es liberado, la palabra “Arriba” es mostrada. Si un botón es oprimido el mensaje “Ratón oprimido” es desplegado en la esquina superior izquierda del área del applet. Cada vez que el ratón entra o sale del área del applet, un mensaje es desplegado. Cuando el ratón es arrastrado, un asterisco es mostrado, el cual es arrastrado con el apuntador del ratón. Es importante notar las dos variables mouseX y mouseY que guardan los lugares del ratón, cuando ocurre uno de los siguientes eventos del ratón: presionado, liberado, o arrastrado. Estas coordenadas son utilizadas dentro del método paint().
  • 5. import java.awt.*; import java.applet.*; import java.awt.event.*; // <applet width="150" height="200" code="MouseEvents"></applet> public class MouseEvents extends Applet implements MouseListener, MouseMotionListener { String msg = ""; int mouseX = 0; int mouseY = 0; public void init() { addMouseListener(this); // se añade el escuchador del ratón //a este applet addMouseMotionListener(this); // se añande el escuchador del movimiento // del raton a este applet } // cuando se da un clic en el ratón public void mouseClicked(MouseEvent me) { mouseX = 0; mouseY = 10; msg = "Ratón Oprimido"; repaint(); } // cuando el ratón entra public void mouseEntered(MouseEvent me) { mouseX = 0; mouseY = 10; msg = "Ratón Entra"; repaint(); } // cuando sale el ratón public void mouseExited(MouseEvent me) { mouseX = 0; mouseY = 10; msg = "Ratón Sale"; repaint(); } // cuando se presiona el ratón public void mousePressed(MouseEvent me) { mouseX = me.getX(); // se toma el valor de la coordenada de x mouseY = me.getY(); // se toma el valor de la coordenada de y msg = "Abajo"; repaint(); } // cuando se libera el ratón
  • 6. public void mouseReleased(MouseEvent me) { mouseX = me.getX(); mouseY = me.getY(); msg = "Arriba"; repaint(); } // cuando se arrastra el ratón public void mouseDragged(MouseEvent me) { mouseX = me.getX(); mouseY = me.getY(); msg = "*"; showStatus("Moviendo el raton en " + mouseX + "," + mouseY); repaint(); } // moviendo el ratón public void mouseMoved(MouseEvent me) { showStatus("Moviendo el raton en " + mouseX + "," + mouseY); } // desplegando el mensaje en el applet public void paint(Graphics g) { g.drawString(msg, mouseX, mouseY); } } Algunas vistas del applet se dan a continuación: