2011-09-15 8 views
6

पर कैप्स लॉक को चालू करने के तरीके पर मुझे एक विशिष्ट उदाहरण चाहिए यदि यह बंद है।मैं कैप्स लॉक स्थिति कैसे प्राप्त कर सकता हूं, और इसे चालू कर सकता हूं, अगर यह पहले से नहीं है?

मैं कुंजी टॉगल करने के लिए कैसे पता है, मैं यह उपयोग कर रहा है:

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

कि कुंजी की स्थिति बदल जाएगा चाहे वह चालू या बंद है। लेकिन मैं यह सुनिश्चित करना चाहता हूं कि यह एप्लिकेशन की शुरुआत में है।

(अंतिम लक्ष्य रहा है कुंजीपटल एल ई डी कुछ दृश्यों, जो बेहतर काम करता है अगर मैं एक निश्चित मूल्य उस राज्य है में फ्लैश।)

+1

आप 'getLockingKeyState()' को देखा है: आप इसे true पार कर लेते हैं उसकी मूल स्थिति में की परवाह किए बिना पर कुंजी राज्य के लिए सेट हो जाएगा? http://download.oracle.com/javase/1.5.0/docs/api/java/awt/Toolkit.html#getLockingKeyState(int) – NPE

+0

मैंने वास्तव में इसका उपयोग करने की कोशिश की लेकिन मुझे इसे किसी अन्य कथन में डालने में परेशानी थी कुछ कारण। मैं इसे इस तरह से उपयोग करना चाहता हूं। मैं इसे एक बुलियन के रूप में उपयोग करने में सक्षम था और इस तरह से ऐसा करने की कोशिश की। क्या आपके पास एक उदाहरण है जहां आप कैप्स लॉक टॉगल की स्थिति की जांच करेंगे और यदि यह पहले से ही आपके ऊपर था, तो मैं इसे चालू करने के लिए ऊपर सूचीबद्ध विधि का उपयोग जारी रखूंगा। आपकी सहायता के लिए धन्यवाद. मैं अब भी आपके लिंक को देखूंगा। –

+0

आप ऐसा करके क्या हासिल करने की कोशिश कर रहे हैं? ऐसा लगता है (जो कुछ भी है), कि आप इसे गलत तरीके से आ रहे हैं। –

उत्तर

14

आप कैप्स लॉक करता है, तो वर्तमान में सेट किया गया है की जाँच करने के getLockingKeyState उपयोग कर सकते हैं:

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

हालांकि, यह अनावश्यक है - setLockingKeyState कुंजी की स्थिति को टॉगल नहीं करता है, यह इसे सेट करता है।

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

ठीक है, मैंने इसे इस तरह से आजमाया और इसके साथ सच होने पर यह बंद हो गया और अगर यह बंद हो गया तो इसे बंद कर दिया। अजीब ... –

+0

ओह। अगर मैं बुलियन लेता हूं तो शायद प्रतीक्षा करें। बाहर निकलें और केवल सही रखें, इसके बजाय –

+0

@ माइक इससे कोई फर्क नहीं पड़ता; समारोह में 'बुलियन' होता है, इसलिए 'बूलियन' को गुजरने से जावा को अनबॉक्स करने के लिए मजबूर किया जाता है –

संबंधित मुद्दे