के रूप में फ़ंक्शन कुंजी (F2) सेट करना मेरे पास मेनू आइटम, "नाम बदलें" है, जिसके लिए F2 एक्सेलेरेटर के रूप में सेट किया गया है। दरअसल जब मेनू प्रदर्शित होता है तो "नाम बदलें" के बगल में थोड़ा "एफ 2" संकेत होता है।स्विंग: एक्सेलेरेटर
अफसोस की बात है, यह काम नहीं करता है। यह त्वरक कोई प्रतिक्रिया नहीं ट्रिगर करता है। जब मैं त्वरक को CTRL + F2 में बदलता हूं - यह काम करता है।
ऐसा लगता है कि मुझे एक इंपाउटएमपीए/एक्शनमैप का उपयोग करना चाहिए। इसके साथ समस्या यह है कि मैं इसे ऐप में हर जगह काम करना चाहता हूं, इसलिए मैं इसे शीर्ष-स्तर के जेएफआरएएम से जोड़ने की कोशिश कर रहा हूं। लेकिन, जेएफआरएएम में getInputMap() विधि नहीं है।
खो गया।
[जोड़ा गया]
ks = KeyStroke.getKeyStroke(KeyEvent.VK_F2, 0);
JMenuItem mi = new JMenuItem("Rename");
mi.setAccelerator(ks);
mi.addActionListener(action);
कृपया हमें आप त्वरक स्थापित करने के लिए का उपयोग कोडिंग! –
क्या यह हो सकता है कि आपका ओएस/विंडो मैनेजर कीस्ट्रोक "उपभोग" करता है, इसलिए यह वास्तव में आपके स्विंग एप्लिकेशन पर कभी नहीं आता है (उदाहरण के लिए क्योंकि F2 को किसी विशेष चीज़ से मैप किया गया है, और Ctrl-F2 नहीं है)? – netzwerg