मैं जीईएफ का उपयोग कर रहा हूं। मेरे पास कुछ "बक्से" लागू किए गए ग्राफिकल संपादक हैं। अब, मैं प्रत्येक बॉक्स (आयताकार) में एक डबल-क्लिक श्रोता जोड़ना चाहता हूं। मैंने ग्राफ़िकल व्यूअर में श्रोता जोड़ने की कोशिश की लेकिन यह काम नहीं किया।मेरे जीईएफ संपादक में डबल-क्लिक श्रोता कैसे जोड़ें?
8
A
उत्तर
0
मैं GEF अपने आप से परिचित नहीं हूँ, लेकिन मैं दस्तावेज में यह पाया:
17
जिसके लिए "बॉक्स" की GraphicalEditPart
में आप श्रोता जोड़ना चाहते हैं, आपको performRequest(Request req)
विधि को ओवरराइड करना होगा। जब ढांचा भाग के आकृति पर डबल-क्लिक की पहचान करता है, तो यह इस विधि को अनुरोध के साथ कॉल करता है जिसमें req.getType()==RequestConstants.REQ_OPEN
है। आप यहां से ले सकते हैं। पूरा कोड का परीक्षण करने के लिए अपने काम करता है कि:
@Override
public void performRequest(Request req) {
if(req.getType() == RequestConstants.REQ_OPEN) {
System.out.println("requested double-click.");
}
}
आशा इस काम कर देता है।
0
viewer.getControl().addListener(SWT.MouseDoubleClick, new Listener() {
@Override
public void handleEvent(Event event) {
//write the double click action
});
जहां तक मैं इसे देख सकता हूं, समस्या से पूरी तरह से मदद नहीं करता है। प्रत्येक 'ऑब्जेक्ट' में एडिटपार्ट होता है और ऑब्जेक्ट्स के साथ इंटरैक्टिंग इन एडिटपार्ट्स का उपयोग करके किया जाता है। आपके उत्तर में संपादक के एपीआई को ही पसंद है। तो यदि डबल-क्लिक पकड़ना और उस पर प्रतिक्रिया करना संभव होगा, तो यह पसंदीदा तरीका नहीं है क्योंकि आप जीईएफ ढांचे को बाधित कर रहे हैं। अगर मैं गलत हूं कृपया मुझे सही। – Veger