2011-11-25 24 views
18
private void jTextField1KeyPressed(java.awt.event.KeyEvent evt) 
    { 
     //cant capture my TAB? 
     System.out.print(evt.getKeyChar()); 

    } 

फ़ोकस सुनने तकनीक का उपयोग किए बिना टैब कुंजी को कैप्चर करने के लिए जावा गुई में सबसे आसान तरीका क्या है?मैं जावा में दबाए गए/टाइप किए गए टैब कुंजी को कैसे सुन सकता हूं?

उत्तर

38

VK_TAB टैब निरंतर है।

हालांकि: No Tab key-pressed or key-released events are received by the key event listener. This is because the focus subsystem consumes focus traversal keys, such as Tab and Shift Tab.

देखें:

.setFocusTraversalKeysEnabled(false)

: http://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html

इस को हल करने के घटक है कि महत्वपूर्ण घटनाओं फायरिंग कर रहा है (जैसे, TextArea) के लिए निम्न लागू इस विधि का उपयोग करके, आपको फोकस ट्रैवर्सल को स्पष्ट रूप से संभालना होगा। वैकल्पिक रूप से, KeyEventDispatcher कक्षा का उपयोग सभी महत्वपूर्ण घटनाओं को पूर्व-सुनने के लिए किया जा सकता है।

+0

बहुत बढ़िया धन्यवाद मैंग! यह चाल @ पीटर – stackoverflow

+0

भी मेरे लिए @ पीटर –