मैं कुंजी नाम के साथ SWT तालिका पर एक संदर्भ मेनू जोड़ने का प्रयास कर रहा हूं। प्रसंग मेनू ठीक से आ रहा है लेकिन मैं कुंजी नाम सेट करने में सक्षम नहीं हूं क्योंकि हम मेनू योगदान में "अनुक्रम" के रूप में उल्लेख कर सकते हैं। मैं मेनू योगदान का उपयोग नहीं कर रहा हूं लेकिन मेनूइटम का उपयोग कर रहा हूं।

यहाँ मेरा कोड है।

final MenuItem item = new MenuItem(menu, SWT.PUSH);   
item.setText(save);
item.addListener(SWT.Selection, new Listener() {

        @Override
        public void handleEvent(Event event) {
            //saveFunction
        }
 });

यह काम कर रहा है, लेकिन मैं मुख्य नाम को मेनू के नाम के साथ कुछ इस तरह जोड़ना चाहता हूं:

enter image description here

क्या कोई मेरी मदद कर सकता है क्योंकि मैं मेनू योगदान का उपयोग नहीं कर सकता।

0
A.Goel 7 सितंबर 2021, 10:55
क्या यह सिर्फ एक सादा एसडब्ल्यूटी ऐप है या यह एक्लिप्स प्लग-इन में है? एक्लिप्स प्लग-इन में इस प्रकार की चीज़ों के लिए अतिरिक्त सुविधाएँ प्रदान करता है।
 – 
greg-449
7 सितंबर 2021, 11:01
यह एक ग्रहण प्लगइन ऐप है लेकिन मैं प्लगइन.एक्सएमएल का उपयोग करके इस तालिका के मेनू नहीं बना रहा हूं।
 – 
A.Goel
7 सितंबर 2021, 11:47

1 उत्तर

सबसे बढ़िया उत्तर

आप मेनू आइटम के लिए कुंजी सेट करने के लिए MenuItem.setAccelerator का उपयोग कर सकते हैं:

item.setAccelerator(SWT.MOD1 | 'S');

ध्यान दें कि यह केवल तभी सक्रिय होता है जब मेनू दिखाया जाता है, यदि मेनू नहीं दिखाया जाता है तो आपको एक कुंजी श्रोता का उपयोग करने की आवश्यकता होगी। मैंने यहाँ SWT.CTRL के बजाय SWT.MOD1 संशोधक का उपयोग किया है ताकि macOS पर कुंजी सही ⌘+S हो।

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

String acceleratorText = Action.convertAccelerator(SWT.MOD1 | 'S');

item.setText(save + '\t' + acceleratorText);

यहाँ Action org.eclipse.jface.action.Action है।

एक्लिप्स प्लग-इन में आपको मानक सेव कोड के साथ एकीकृत करने के लिए शायद एक रिटारगेटेबल एक्शन का उपयोग करना चाहिए।

0
greg-449 7 सितंबर 2021, 12:55
SetAccelerator काम कर रहे मेनू की एक शॉर्टकट कुंजी है। लेकिन मेरा मतलब Key (Ctrl +S) के टेक्स्ट से था जो मेनू के टेक्स्ट के साथ दिखाई देता है। मैं मेनू टेक्स्ट के साथ इस कुंजी अनुक्रम को भी दिखाना चाहता हूं लेकिन मैं इसे केवल मेनू के साथ सेट नहीं करना चाहता हूं। और चाबियाँ। तो, मैं पाठ के साथ मुख्य अनुक्रम को सहेजने के लिए कुछ विधि ढूंढ रहा हूं।
 – 
A.Goel
7 सितंबर 2021, 12:27
मुख्य पाठ macOS पर दिखाया गया है, मुझे नहीं पता कि अन्य OS क्या करते हैं। उचित ग्रहण प्लग-इन एपीआई का उपयोग करने का एक अन्य कारण जिसे यह अधिकार मिलना चाहिए।
 – 
greg-449
7 सितंबर 2021, 12:31
मैंने त्वरक पाठ प्राप्त करने के लिए ActionContributionItem द्वारा उपयोग किया गया कोड जोड़ा है
 – 
greg-449
7 सितंबर 2021, 12:44
जी बहुत बहुत शुक्रिया। Action.convertAccelerator(SWT.MOD1 | 'S'); काम कर रहा है।
 – 
A.Goel
7 सितंबर 2021, 12:59