2011-09-15 15 views
6

の場合、キャップロックをどのようにするかについて具体的な例をお伝えしたいと思います。がオフです。 Caps Lockの状態を取得するにはどうしたらいいですか?

は、私はこれを使用している、キーをトグルする方法を知っている:それはオンまたはオフであるかどうかの鍵の状態を変更します

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

。 しかし、アプリケーションの開始時にオンになっていることを確認したいと思います。

(最終的な目標は、キーボードのLEDが、私は特定の開始状態を持っている場合はうまく動作している、特定の配列に点滅持っている。)

+1

をあなたは 'getLockingKeyState()'で見たことがありますか? http://download.oracle.com/javase/1.5.0/docs/api/java/awt/Toolkit.html#getLockingKeyState(int) – NPE

+0

私は実際にそれを使用しようとしましたが、if else文に入れるのに問題がありました。何らかの理由で。私はこのように使いたいと思います。私はそれをブール値として使用することができ、それをそのようにしようとしました。キャップロックトグルの状態を確認する例がありますか?すでにロックされている場合は、上記のメソッドを使用してオンにします。ご協力いただきありがとうございます。今あなたのリンクを見ていきます。 –

+0

これで何を達成しようとしていますか?それは、(それが何であれ)間違った方法で近づいているようです。 –

答えて

14

キャップロックが現在設定されているかどうかをチェックするためにgetLockingKeyStateを使用することができます。

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

しかし、それは不要です - setLockingKeyStateはキーの状態をトグルしないで設定します。あなたが渡すと、それは関係なく、元の状態の上にキーの状態を設定しますtrue

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

私はそれを試してみました。それが真実であれば、それがオンになっているとシャットダウンし、オフの場合はオンにします。奇妙な... –

+0

ああ。私がブール値を取っているのを待ってください.TRUEを出して、代わりに真を入れてください。 –

+0

@マイクそれは問題ではありません。関数は 'boolean'をとります。したがって、' Boolean'を渡すだけでJavaがunboxになります –

関連する問題