Ver Mensaje Individual
  #7 (permalink)  
Antiguo 03/03/2011, 19:57
Avatar de HackmanC
HackmanC
 
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 9 meses
Puntos: 260
Sonrisa Respuesta: Evento de teclado en Panel

Hola,

Cita:
Iniciado por cribelo Ver Mensaje
... lo que sucede es que yo en la clase EventosBotonesListadoPersona implements MouseListener
que se lo agrego al boton1.addMouseLitener(EventosBotonesListadoPerson a)

En el
public void mouseClicked(MouseEvent arg0) {
llamo a la funcion
verActualizarpersona();

pero en el codigo que vos me diste no puedo acceder al metodo del Listener del click, se entiende? Como hago?? Grciass
¿Que tiene que ver un MouseListener con un KeyEvent y la tecla F5?
¿Porque no puedes llamar al método verActualizarpersona() directamente?

Posiblemente ...

Código Java:
Ver original
  1. package application;
  2.  
  3. public class Persona {
  4.  
  5.     public void verActualizarPersona() {
  6.         System.out.println("Abrir dialogo ...");
  7.     }
  8.  
  9. }

Código Java:
Ver original
  1. package application;
  2.  
  3. import java.awt.event.MouseEvent;
  4. import java.awt.event.MouseListener;
  5.  
  6. public class EventosBotonesListadoPersona implements MouseListener {
  7.  
  8.     @Override
  9.     public void mouseClicked(MouseEvent e) {
  10.         Persona p = new Persona();
  11.         p.verActualizarPersona();
  12.     }
  13.  
  14.     @Override
  15.     public void mousePressed(MouseEvent e) {
  16.     }
  17.     @Override
  18.     public void mouseReleased(MouseEvent e) {
  19.     }
  20.     @Override
  21.     public void mouseEntered(MouseEvent e) {
  22.     }
  23.     @Override
  24.     public void mouseExited(MouseEvent e) {
  25.     }
  26. }

Código Java:
Ver original
  1. package application;
  2.  
  3. public class JFrame extends javax.swing.JFrame {
  4.  
  5.     private EventosBotonesListadoPersona delegate;
  6.     private java.awt.KeyEventDispatcher dispatcher;
  7.  
  8.     private javax.swing.JButton jButton1;
  9.  
  10.     public JFrame() {
  11.         jButton1 = new javax.swing.JButton();
  12.         setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
  13.         getContentPane().setLayout(new javax.swing.BoxLayout(getContentPane(), javax.swing.BoxLayout.LINE_AXIS));
  14.         jButton1.setText("Actualizar");
  15.         getContentPane().add(jButton1);
  16.         pack();
  17.  
  18.         delegate =  new EventosBotonesListadoPersona();
  19.         jButton1.addMouseListener(delegate);
  20.  
  21.         dispatcher = new java.awt.KeyEventDispatcher() {
  22.             @Override
  23.             public boolean dispatchKeyEvent(java.awt.event.KeyEvent e) {
  24.                 if (e.getID() == java.awt.event.KeyEvent.KEY_RELEASED &&
  25.                         e.getKeyCode() == java.awt.event.KeyEvent.VK_F5) {
  26.                     delegate.mouseClicked(
  27.                             new java.awt.event.MouseEvent(jButton1,
  28.                             java.awt.event.MouseEvent.NOBUTTON,
  29.                             new java.util.Date().getTime(), 0, 0, 0, 1, false));
  30.                 }
  31.                 return false;
  32.             }
  33.         };
  34.         java.awt.KeyboardFocusManager.
  35.                 getCurrentKeyboardFocusManager().
  36.                 addKeyEventDispatcher(dispatcher);
  37.     }
  38.  
  39.     @Override
  40.     public void dispose() {
  41.         java.awt.KeyboardFocusManager.
  42.                 getCurrentKeyboardFocusManager().
  43.                 removeKeyEventDispatcher(dispatcher);
  44.         super.dispose();
  45.     }
  46.  
  47. }

Código Java:
Ver original
  1. package application;
  2.  
  3. public class Main {
  4.  
  5.     public static void main(String[] args) {
  6.         java.awt.EventQueue.invokeLater(new Runnable() {
  7.             @Override
  8.             public void run() {
  9.                 new JFrame().setVisible(true);
  10.             }
  11.         });
  12.     }
  13.  
  14. }

¿Cual es el problema?
¿Se entiende?

Saludos,