Forzar un evento

Tengo un botón en una clase. Al hacer click sobre él me hace una serie de cosas.
Lo que quiero es, desde otra clase, una instrucción para simular que se ha pulsado ese botón.

1 Respuesta

Respuesta
1
Tienes varias posibilidades:
1) Si el botón es un JButton de swing, llamar al método doClick() del botón en cuestión. Para ello, deberás hacer el botón accesible desde otras clases, bien haciéndolo público, o bien escribiendo un public getBoton() que retorne el botón.
2) Si el botón es un Button de awt, construirte una clase como esta que te paso:
import java.awt.*;
import java.awt.event.*;

Public class SimuladorClick{
   public static void doClick(Button target){
      if (target!=null){
          KeyEvent keyEvent = new KeyEvent(target, KeyEvent.KEY_PRESSED, System.currentTimeMillis(), 0, KeyEvent.VK_ENTER, (char)KeyEvent.VK_ENTER);
          target.dispatchEvent(keyEvent);

      }

   }

}
Como tienes que pasarle el botón como parámetro, necesitarás hacer el botón visible para el resto de clases, de cualquiera de las formas que te he comentado antes.
3) Para mí la mejor: sacar la funcionalidad del botón a un método público que pueda ser invocado por otras clases.
La elección es tuya.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas