2011-09-15 60 views
6

Me gustaría obtener un ejemplo específico sobre cómo activar el bloqueo de mayúsculas en si está desactivado.¿Cómo puedo obtener el estado Bloq Mayús y ponerlo en on, si aún no lo está?

que saber como cambiar la clave, he estado usando este:

toolkit.setLockingKeyState(KeyEvent.VK_CAPS_LOCK, Boolean.TRUE); 

que cambiará el estado de la tecla si está encendido o apagado. Pero quiero asegurarme de que esté activado al comienzo de la aplicación.

(El objetivo final es tener los LED del teclado parpadean en ciertas secuencias, que funciona mejor si tengo un cierto estado de partida.)

+1

¿Ha mirado 'getLockingKeyState()'? http://download.oracle.com/javase/1.5.0/docs/api/java/awt/Toolkit.html#getLockingKeyState(int) – NPE

+0

De hecho, traté de usarlo pero tuve problemas para ponerlo en una declaración if else para alguna razón. Me gustaría usarlo de esta manera. Pude usar eso como un booleano e intenté hacerlo de esa manera. ¿Tiene un ejemplo en el que verificaría el estado del bloqueo de mayúsculas y si ya estaba encendido simplemente continuaría? Use el método que indiqué arriba para activarlo. Gracias por tu ayuda. Veré su enlace ahora también. –

+0

¿Qué estás tratando de lograr al hacer esto? Parece (lo que sea que sea), que te estás acercando al camino equivocado. –

Respuesta

14

Puede utilizar getLockingKeyState para comprobar si el bloqueo de mayúsculas está ajustado en ese momento:

boolean isOn = Toolkit.getDefaultToolkit().getLockingKeyState(KeyEvent.VK_CAPS_LOCK); 

Sin embargo, no es necesario - setLockingKeyState no alternar el estado de la clave, lo establece. Si se le pasa true va a establecer el estado clave para el independientemente de su estado original:

Toolkit.getDefaultToolkit().setLockingKeyState(KeyEvent.VK_CAPS_LOCK, true); 
+0

Ok, lo intenté de esa manera y, siendo cierto, lo apagaría si estuviera encendido y lo encendería si estuviera apagado. Weird ... –

+0

oh. espere tal vez si tomo boolean.TRUE fuera y simplemente pongo el, verdadero en su lugar –

+0

@Mike No debería importar; la función toma un 'boolean', por lo que pasar un' Boolean' solo fuerza a Java a unbox it –

Cuestiones relacionadas