2012-03-05 8 views
6

मैं पूर्वनिर्धारित शैलियों के साथ अपने एसडब्ल्यूटी परियोजना नियंत्रण (बटन-एस, टेक्स्ट-एस, आदि) में होना चाहता हूं। मेरा पहला विचार उदाहरण के लिए org.eclipse.swt.widgets.Text कक्षा का विस्तार करना था, कुछ सेटिंग्स सेट करें और मूल के बजाय उस नई कक्षाओं का उपयोग करें, लेकिन org.eclipse.swt.SWTException: Subclassing not allowed अपवाद प्राप्त करें। यह सही कैसे करें?पूर्वनिर्धारित शैलियों के साथ एसडब्ल्यूटी नियंत्रण

उत्तर

8

लिखने के लिए एक लिंक भी मिलेगा, आपको कुछ भी करने के लिए चेकसबक्लास विधि को ओवरराइड करना होगा, अन्यथा यह शिकायत करेगा कि सबक्लासिंग की अनुमति नहीं है - क्योंकि आमतौर पर आपको मानक घटकों को ओवरराइड नहीं करना चाहिए।

@Override 
protected void checkSubclass() { 
    // Disable the check that prevents subclassing of SWT components 
} 

आपको प्रतिनिधिमंडल का उपयोग करके आदिम नियंत्रण वाले कस्टम विजेट बनाने पर भी विचार करना चाहिए। उदाहरण के लिए आप MyText बना सकते हैं जिसमें कस्टम सेटअप के साथ टेक्स्ट विजेट शामिल होगा।

याद रखने की बात यह है कि एसडब्ल्यूटी मानक नियंत्रण प्रदान करता है जो प्लेटफॉर्म पर प्रत्येक पर मूल रूप से दिखता है। वैसे भी मानक घटकों को पॉलिश करने की अनुमति है और यहां तक ​​कि उत्पादन सॉफ्टवेयर में भी जरूरी है।

+0

बहुत बहुत धन्यवाद;) – marioosh

4

इस चिंता के लिए SWT Faq देखें। वहां आपको कस्टम विजेट्स

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