मुझे यह पता लगाने में सक्षम होना चाहिए कि मेरा एक विशिष्ट संचालन के दौरान एक निश्चित कुंजी (उदा। CTRL) दबाया गया है या नहीं। मेरे पास एक मुख्य श्रोता तक पहुंच नहीं है, न ही माउस ईवेंट के लिए। मैं उम्मीद कर रहा हूं कि कुछ वर्ग होंगे जिनके पास "बूलियन isKeyPressed (कीकोड)" जैसी विधि है।जावा - क्या हम पता लगा सकते हैं कि श्रोता का उपयोग किए बिना एक कुंजी दबाई जाती है?
क्या किसी को इस तरह की विधि के बारे में पता है?
कुछ पृष्ठभूमि के लिए, मैं किसी घटक के लिए डिफ़ॉल्ट ड्रैग & ड्रॉप व्यवहार को ओवरराइड करने का प्रयास कर रहा हूं। डिफ़ॉल्ट रूप से, DropTargetDragEvent के लिए javadocs के अनुसार, यदि कोई कुंजी संशोधक दबाया नहीं जाता है, तो यह एक चाल के लिए घटक की समर्थित क्रिया सूची में दिखता है, फिर एक प्रति & एक लिंक और पहले को ढूंढने के बाद बंद हो जाता है।
मेरे आवेदन में, हम कॉपी & दोनों लिंक का समर्थन करते हैं। Javadoc के अनुसार, CTRL कुंजी दबाए बिना, डिफ़ॉल्ट कार्रवाई प्रतिलिपि है। हम चाहते हैं कि उपयोगकर्ता डिफ़ॉल्ट क्रिया निर्दिष्ट करने में सक्षम हो (उन्हें अपने सबसे अधिक इस्तेमाल किए जाने की अनुमति देता है) और फिर संशोधक कुंजी का उपयोग करके एक विशिष्ट को मजबूर करें।
यदि मैं कुंजी दबाए गए राज्य का पता लगा सकता हूं तो मैं इसे होने के लिए मजबूर कर सकता हूं लेकिन मुझे डिफ़ॉल्ट कार्रवाई को बदलने का कोई अन्य तरीका नहीं दिख रहा है।
अग्रिम धन्यवाद, ब्रायन
आपके पास श्रोता तक पहुंच क्यों नहीं है? क्या आप अपना खुद का निर्माण नहीं कर सकते? आप किस जीयूआई ढांचे का उपयोग कर रहे हैं? –
नोएल - एरिक रॉबर्टसन की पोस्ट के खिलाफ मेरी टिप्पणी प्रतीत होती है। – DaddyB