2009-02-16 18 views
8

मैं जीडब्ल्यूटी सीख रहा हूं और इसे लटकना शुरू कर दिया है। मैं उस बिंदु पर हूं जहां मेरा कोड स्पेगेटी गड़बड़ हो रहा है, इसलिए मैं वापस जा रहा हूं और कंपोजिट्स के रूप में इसे उचित बिट्स फैक्टर कर रहा हूं। पहली समस्या जो मैंने भागी थी वह था कि मेरा टूल समर्थन नई कंपोजिट क्लास को initWidget() विधि देने में विफल रहा। इसमें एक डिफ़ॉल्ट कन्स्ट्रक्टर शामिल था।
समय के लिए, मैंने बस super(initWidget(w)) पर कॉल के साथ अपने ओवरराइड initWidget() विधि में भर दिया है, मेरी परियोजना संकलित और अपेक्षित रूप से चलता है, हालांकि मुझे लगता है कि मुझे कुछ याद आना चाहिए।जीडब्ल्यूटी समग्र सर्वोत्तम प्रथाओं

इनिट में ओवरराइड करते समय मुझे क्या ध्यान रखना चाहिए और अगर मुझे कन्स्ट्रक्टर में कुछ भी करने की ज़रूरत है तो मुझे क्या ध्यान रखना चाहिए। क्या ऐसा कुछ और है जिसे मुझे जानने की ज़रूरत है या यह इसके बाद नियमित रूप से पुराने जावा तक उबालता है?

स्पष्टीकरण - यह मेरे लिए हुआ है कि इस पुस्तकालय के हिस्से के रूप में या आपके स्टैंड-अलोन ऐप का हिस्सा केवल Composite कक्षाओं को रिलीज़ करने का इरादा रखते हुए इस प्रश्न के अलग-अलग उत्तर हैं। विशेष रूप से बाहरी रूप से उपयोगी घटकों को विकसित करने के इस समय मेरा कोई इरादा नहीं है (मुख्य रूप से क्योंकि मैं इस विशेष तकनीक में इतना हरा हूं।)

धन्यवाद!

उत्तर

7

मुझे यकीन नहीं है कि मैं समझता हूं कि आप क्या करने की कोशिश कर रहे हैं। लेकिन सभी कंपोजिट के लिए मैंने लिखा है कि मैंने कभी भी initWidget विधि को ओवरराइड नहीं किया है। क्योंकि कम्पोजिट अपने आप में एक निर्माता के साथ प्रारंभ करने की आवश्यकता नहीं है, सुपर() कॉल करने के लिए की तरह समग्र देखो कुछ विस्तार विजेट की मेरी कंस्ट्रक्टर्स कोई जरूरत अर्थात्:

public mywidget() { 
    SomePanel p = new SomePanel(); 
    .... 
    initWidget(p); 
} 

एक सबसे अच्छा अभ्यास के रूप में, imo, केवल विजेट का विस्तार कंपोजिट को इसे 'खुद' initWidget कहना चाहिए।

+0

मुझे लगता है कि यह शायद कस्टम विगेट्स के आसपास की समस्याओं के अपने पूरे सेट का जवाब है। मैं ऐसी परिस्थिति में भी जा रहा था जहां गुई टूल्स मेरे कई कस्टम विगेट्स प्रस्तुत नहीं करेंगे, सबसे अधिक संभावना है कि न तो मेरे कन्स्ट्रक्टर और न ही इनिट कॉल सही थे। जब मैं घर जाता हूं तो मैं इसे देख लूंगा ... thx –

2

"GWT Conference: Best Practices for Building Libraries" कुछ युक्तियां देता है। आपको जीडब्ल्यूटी के स्रोत और जीडब्ल्यूटी के लिए पुस्तकालयों में से एक के स्रोत पर भी देखना चाहिए (जैसे gwt-ext)

[संपादित करें] मैंने अभी एक और विकल्प देखा: suco। विवरण से:

एक माइक्रो लाइब्रेरी जो आपके जीडब्ल्यूटी क्लाइंट कोड को साफ और मॉड्यूलर बनाए रखने में मदद करती है।

+0

हाँ मैं भी, पुरानी टिप्पणी हटा दी ... –

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