2009-01-13 15 views
5

estoy trabajando en un sistema de quioscos en Java en Windows XP. Y necesita hacer un teclado en pantalla. No tengo idea de eso, cómo hacerlo. Entonces, ¿pueden ayudarme por favor a hacer esto? Cualquiera tiene alguna idea al respecto. Gracias oscilación teclado en pantalla

+0

qué sistema operativo? – Stormenet

+0

Proporcione cualquier información adicional en su pregunta. No todos los usuarios leerán los comentarios – guerda

Respuesta

4

que implementaron un OSK en SWT y AWT para mi empresa.

inicializamos la disposición OSK utilizando un archivo ini fueron puede definir la disposición de las teclas bordo (tamaño, fuente, forma una línea de teclado se parece, etiqueta de la tecla y la acción clave)

En primer lugar debe generar la lectura del teclado estos archivos ini. Esto se hace muy rápido. Debe activar los enfoques en los botones creados y también en la ventana superior. De lo contrario, el componente que obtiene las acciones clave pierde el enfoque todo el tiempo.

El segundo paso es poner en práctica el gestor de eventos distribuidor. Debe enviar los eventos clave OSK a todos los objetos de evento de escucha. Puede enviar un evento usando Robot u obtener el componente enfocado con FocusManager y configurarlo directamente.

Para SWT que funciona muy bien, pero en su AWT son algunos roscado y focuss cuestiones.

-1

Este apareció en una búsqueda de cómo ir al modo de kiosco bloqueado en java/swing ... - Y me llevó un tiempo averiguar cómo hacerlo, así que aquí está para cualquiera que termine aquí como lo hice:

public class FullScreen extends JWindow { 

    public FullScreen() 
    { 

     getContentPane().add(new JLabel("A JFrame Kiosk"), BorderLayout.NORTH); 

     JButton closeButton = new JButton("Close"); 

     closeButton.addActionListener(new ActionListener() 
      { 
       public void actionPerformed(ActionEvent ae) 
       { 
        System.out.println("Close button Pressed"); 
        FullScreen.this.setVisible(false); 
        System.exit(0); 
       } 
      }); 
     getContentPane().add(closeButton, BorderLayout.CENTER); 
    } 

    public static void main(String[] args) throws Exception { 

     SwingUtilities.invokeLater(new Runnable() { 
      public void run() {  
       GraphicsEnvironment. 
        getLocalGraphicsEnvironment(). 
         getDefaultScreenDevice(). 
          setFullScreenWindow(new FullScreen()); 
       } 
     }); 
    } 
} 
+0

Tal vez sea solo yo, pero eso no parece resolver el problema – johnc

+0

Estoy de acuerdo, es para una pregunta diferente. Aunque se agradece la información, sería mejor que crearas una nueva pregunta y la respondieras tú mismo para que la gente pueda buscarla adecuadamente. –

Cuestiones relacionadas