Un evento de usuario es una acción generada por el mismo usuario. Ejemplo de eventos son:
- Pulsar un boton
- Pulsar alguna tecla
- Mantener pulsada una tecla
- Soltar la tecla
- Hacer un click
- etc
Al realizar un evento lo más comun es que querramos que nuestro programa respondar, asi
al pulsar un boton de "cerrar" esperamos que se cierre la aplicación y será prescisamente porque el boton tendrá un
vigilante que escucha si se pulsa el boton o no, y nos avisa inmediatamente para que ejecutemos
el método "cerrar".
Los detectores de eventos(vigilantes) se llaman Listeners y son en realidad diferentes tipos
de interfaces, esos contratos para implementar a nuestras clases con la palabra reservada "implements".
Hay de muchos tipos:
Hay de muchos tipos:
- ActionListener
- Eventos de acción generados por el usuario.
- AdjustmentListener
- Generado cuando un componente es ajustado.
- ComponentListener
- Generado cuando un componente se hace visible.
- FocusListener
- Generado cuando un componente gana o pierde el "focus"
- ItemListener
- Generado cuando hay cambios en items de caja o listas.
- KeyListener
- Generado al pulsar una tecla.
- MouseListener
- Pulsación o entrada de ratón.
- MouseMotionListener
- Movimiento del ratón sobre un componente.
- TextListener
- Reaacciona cuando se escribe
- WindowListener
- Cambios en ventanas.
*Cada interfaz define uno o más métodos que deben ser implementadas obligatoriamente por nuestra clase para que el caso sea implementada.
*Podemos implementar tantas interfaces como nos sea necesario:
Pasos para implementar Listeners
- Implementar la interfaz a la declaración de la clase.
- Añadir el vigilante al componente.
- Implementar todos los métodos de la interfaz
- Escribir el comportamiento del método
- package vigilante;
- import java.awt.event.*;
- import java.awt.*;
- import javax.swing.*;
- FlowLayout flujo;
- JButton hola, salir;
- public Simple(){
- marco.setLayout(flujo);
- marco.setTitle("EjempoListener");
- marco.setSize(243,74);
- marco.setLocationRelativeTo(null);
- marco.add(hola);
- marco.add(salir);
- hola.addActionListener(this);
- salir.addActionListener(this);
- }
- new Simple();
- marco.setVisible(true);
- }
- @Override
- if(e.getSource() == hola){
- JOptionPane.showConfirmDialog(null, "Un Placer Conocerte!", "Visita Dar10comyr.blogspot.com.ar", JOptionPane.OK_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE);
- }
- if(e.getSource() == salir){
- }
- }
- }
Escuchante Acción!
java.awt.event
Interface ActionListener
Único Método:
- void actionPerformed(ActionEvent e)
- Se invoca cuando se produce una acción.
Único Ejemplo:
- import java.awt.*;
- import java.awt.event.*;
- import javax.swing.*;
- public EventosAccion(){
- super("Titulo de la ventana");
- setSize(432,111);
- setResizable(false);
- setLocationRelativeTo(null);
- panel1.add(eti1);panel1.add(campo);panel1.add(cambiaTitulo);
- panel2.add(minimiza);
- minimizar.setEnabled(false);panel2.add(minimizar);
- panel2.add(maximiza);panel2.add(cerrar);
- panel3.add(eti2);panel3.add(fondo);
- panel4.add(mensaje);
- setLayout(grilla);
- add(panel1);add(panel2);add(panel3);add(panel4);
- pack();
- cambiaTitulo.addActionListener(this);
- minimiza.addActionListener(this);
- minimizar.addActionListener(this);
- maximiza.addActionListener(this);
- cerrar.addActionListener(this);
- fondo.addActionListener(this);
- mensaje.addActionListener(this);
- }
- EventosAccion app = new EventosAccion();
- app.setVisible(true);
- }
- @Override
- if(e.getSource()== cambiaTitulo){
- setTitle(campo.getText());
- }
- if(e.getSource()== minimiza){
- }
- if(e.getSource()== minimizar){
- minimizar.setEnabled(false);
- setSize(432,111);
- setLocationRelativeTo(null);
- pack();
- maximiza.setEnabled(true);
- }
- if(e.getSource()== maximiza){
- maximiza.setEnabled(false);
- minimizar.setEnabled(true);
- }
- if(e.getSource()== cerrar){
- }
- if(e.getSource()== fondo){
- if(fondo.getSelectedItem() == "rojo"){
- }
- if(fondo.getSelectedItem() == "azul"){
- }
- if(fondo.getSelectedItem() == "verde"){
- }
- if(fondo.getSelectedItem() == "amarillo"){
- }
- }
- if(e.getSource()== mensaje){
- "pero se me olvido! xD");
- }
- }
- }
Me quedo algo asi, donde puedo estar en el campo de texto el título de la ventana
ocultar, minimizar, maximizar o cerrar la ventana, cambiar el color de fondo y generar un mensaje pop-up.
No hay comentarios:
Publicar un comentario