Java - ¿Cómo Escribir en un JTextfied mediante un onscreen keyboard?

 
Vista:
sin imagen de perfil
Val: 87
Ha aumentado su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

¿Cómo Escribir en un JTextfied mediante un onscreen keyboard?

Publicado por Tomas (76 intervenciones) el 29/09/2016 11:33:56
Buenas, creé un teclado en pantalla pero solo imprime por consola, necesito que imprima en cualquier textifield seleccionado. Había pensado en el patrón observer pero quería saber si hay algo mas simple.
Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

¿Cómo Escribir en un JTextfied mediante un onscreen keyboard?

Publicado por Tom (1831 intervenciones) el 29/09/2016 12:37:26
Se podría investigar un poco más, pero en principio puedes usar las clases Robot (o FXRobot) de java.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

¿Cómo Escribir en un JTextfied mediante un onscreen keyboard?

Publicado por Tom (1831 intervenciones) el 29/09/2016 14:23:29
Lo que hace la clase Robot es generar un evento como si estuviera originado en el sistema de E/S, de manera que el event loop de swing o de awt lo reciban y lo traten (lo envíen al control que tenga el foco, en tu caso).

Lo único que tienes que hacer es que tu teclado "virtual" utilice esta clase Robot.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
try {
        Robot robot = new Robot();
 
        // Simulate a mouse click
        robot.mousePress(InputEvent.BUTTON1_MASK);
        robot.mouseRelease(InputEvent.BUTTON1_MASK);
 
        // Simulate a key press
        robot.keyPress(KeyEvent.VK_A);
        robot.keyRelease(KeyEvent.VK_A);
 
} catch (AWTException e) {
        e.printStackTrace();
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 87
Ha aumentado su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

¿Cómo Escribir en un JTextfied mediante un onscreen keyboard?

Publicado por Tomas (76 intervenciones) el 02/10/2016 00:05:22
Perfecto, ya incorporé la clase ahora me pasa esto:
cuando pulso sobre un botón o cuando un JTextField recibe el foco se ejecuta el teclado y gana el foco, pero al abrirse, el componente donde voy a escribir pierde el foco (supongo, porque no logro escribir nada) . Entonce no logro tener el JDialog donde se encuentra el JTextField junto con el teclado a la vez.
Alguna idea?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar