Estoy implementando algunos códigos de teclado para una aplicación java swing existente, pero parece que no puedo presionar el teclado para ejecutar la acción "mousePressed" y la acción "mouseReleased" que están mapeadas a un JButton. No tengo problemas para hacer clic en "action_performed" con button.doClick(), ¿hay alguna función similar para simular las pulsaciones del mouse? Gracias de antemano.¿Cómo se simula un clic completo con Java Swing?
5
A
Respuesta
6
Puede simular se presione el ratón y las acciones del ratón utilizando la clase Robot. Está hecho para la simulación por ej. para probar automáticamente las interfaces de usuario.
Pero si quiere compartir "acciones", p. botones y presionar teclas, debe usar un Action
. Ver How to Use Actions.
Ejemplo sobre cómo compartir una acción para un botón y una pulsación de tecla:
Action myAction = new AbstractAction("Some action") {
@Override
public void actionPerformed(ActionEvent e) {
// do something
}
};
// use the action on a button
JButton myButton = new JButton(myAction);
// use the same action for a keypress
myComponent.getInputMap().put(KeyStroke.getKeyStroke("F2"), "doSomething");
myComponent.getActionMap().put("doSomething", myAction);
Más información acerca de atajos de teclado en How to Use Key Bindings.
2
Analice el uso de Robot
para simular las pulsaciones del teclado y la actividad del mouse.
2
Se podría añadir un oyente a su botón:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
public class ButtonAction {
private static void createAndShowGUI() {
JFrame frame1 = new JFrame("JAVA");
frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton button = new JButton(" >> JavaProgrammingForums.com <<");
//Add action listener to button
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
//Execute when button is pressed
System.out.println("You clicked the button");
}
});
frame1.getContentPane().add(button);
frame1.pack();
frame1.setVisible(true);
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}`
Cuestiones relacionadas
- 1. ¿Cómo se simula un dispositivo serie?
- 2. ¿Cómo se simula el envío del formulario con jQuery?
- 3. Atajo de teclado de aplicación completo - Java Swing
- 4. Cómo rodear componentes Java Swing con borde?
- 5. Java Swing: ¿cómo desplazarse por un JTextArea?
- 6. C: ¿Cómo se simula una 'excepción'?
- 7. Java Swing: cómo deshabilitar un JPanel?
- 8. Con Swing y Java, lo que se hace con el subproceso "Swing-Shell"
- 9. Juegos Java 2d con Java SWING
- 10. ¿Cómo se simula escribir usando jQuery?
- 11. ¿Cómo creo un menú contextual de clic derecho en Java Swing?
- 12. ¿Cómo se oculta un elemento emergente de Swing cuando se hace clic en otro lugar?
- 13. ¿Cómo se simula el evento táctil?
- 14. aplicación Java swing, cierre una ventana y abra otra cuando se haga clic en el botón
- 15. Java Swing: se ejecuta en EDT
- 16. ¿Simula un navegador en Ruby, con cookies?
- 17. Un clásico StackOverflow: Java Swing
- 18. ¿Cómo hacer un lienzo con Swing?
- 19. Cómo depurar Java Swing Layouts
- 20. Java: ignorar un solo clic con doble clic?
- 21. ¿Cómo se establece el orden de tabulación en Swing Java?
- 22. Cómo comprobar si un archivo está "completo" (escrito por completo) con Java
- 23. Creando un Java Swing JFrame con una forma circular?
- 24. Java, Swing: ¿cómo configuro el ancho máximo de un JTextField?
- 25. Ventana corrediza Java Swing
- 26. Dibujar varias líneas con Java Swing
- 27. ¿Cómo se simula el error "MYSQL se ha ido"?
- 28. Simula un objeto con un constructor - Rhino Mocks
- 29. Java swing: Cómo eliminar un ActionListener anónima de un componente
- 30. Swing Threading de Java
cheque esta http://stackoverflow.com/questions/2445105/how-do-you-simulate-a-click-on-a-jtextfield -equivalente-de-jbutton-doclick – doNotCheckMyBlog