2011-09-24 11 views
7

जब आप टेक्स्टबॉक्स में टाइप करते हैं और कुंजी पकड़ते हैं, तो प्रारंभिक कुंजी प्रेस विलंब के आधार पर आपको (एक ....... aaaaaaaaaaaaaaa) मिलता है।प्रारंभिक कीप्रेस देरी को हटा देना

addKeyListener(new KeyAdapter() { 
    public void keyPressed(KeyEvent e) { 
     // Handle key press here 
    } 

मैं एक ऐसा गेम बना रहा हूं जिसमें उपयोगकर्ता के प्रतिबिंब बहुत महत्वपूर्ण हैं। मैं इस देरी को पूरी तरह खत्म कैसे कर सकता हूं? उपरोक्त कोड काम नहीं करता है। मैंने बिना किसी किस्मत के प्रक्रिया को ओवरराइड करने का भी प्रयास किया है।

उत्तर

2

ये घटनाएं जेवीएम/ऑपरेटिंग सिस्टम द्वारा उत्पन्न की जाती हैं, और जब तक कि आप उपयोगकर्ता को कुंजी-देरी/कुंजी-दोहराना सेटिंग्स बदलने के लिए निर्देश नहीं देते हैं, मुझे डर है कि आपको कुछ और काम करना होगा।

मेरा सुझाव है कि आप एक टाइमर बनाएं जो सही दर में घटनाओं को चलाता है, टाइमर को keyPressed/keyReleased पर रोकें और रोकें।

+0

क्या कोई आसान तरीका है? – David

+0

@ डेविड: ऐसा मत सोचो - मुझे लगता है कि एओओब सही है, इसमें वास्तव में कोई कामकाज नहीं है, क्योंकि यह सभी ओएस-आधारित है। – Nightfirecat

+1

इस दृष्टिकोण से अवगत रहें केवल विंडोज पर काम करता है क्योंकि यह एकाधिक कीपैड घटनाओं (जैसे कुंजी दबाया जाता है) उत्पन्न करता है और केवल एक ही कुंजी रिलीज़ ईवेंट (जब कुंजी जारी होती है)। हालांकि, मेरा मानना ​​है कि अन्य ओएस दोहराने की दर आवृत्ति पर घटनाओं की एक कुंजी दबाया/कुंजी रिलीज जोड़ी उत्पन्न करेगा जो टाइमर का उपयोग करने के उद्देश्य को हरा देता है। मैंने इस समस्या के लिए एक अच्छा मंच स्वतंत्र समाधान नहीं देखा है। – camickr

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