2012-11-06 5 views
5

मैं कुछ कस्टम विजेट विकसित कर रहा हूं जिन्हें मैं यूआईबिंडर के साथ उपयोग करने में सक्षम होना चाहता हूं। कलश मेंजीडब्ल्यूटी डीफरर्ड बाध्यकारी कस्टम क्लास के लिए असफल रहा: कोई कक्षा मेल नहीं खाता "..." आयात:

कोई वर्ग मिलान "...": दुर्भाग्य से मैं निम्न त्रुटि नीचे का पीछा करते हुए के साथ भाग मेरे जीवन बर्बाद कर रखना आयात: ...

यह कैच-ऑल अपवाद है कि फेंक दिया जाता है हो रहा है किसी भी समय किसी भी कक्षा में त्रुटि है जो जीडब्ल्यूटी कंपाइलर को संसाधित करने से रोकती है। इसमें कक्षा के पूरे निर्भरता पेड़ में कुछ भी शामिल है।

अपने आप को और किसी भी व्यक्ति को बचाने के लिए जो कुछ समय और दर्द में एक ही समस्या में चल रहा है, चलिए इस के लिए सबसे अप्रत्याशित और कठिन कारणों की सूची यहां संकलित करते हैं। मैं अपने नवीनतम एक के साथ शुरू करूंगा, जिसने मुझे इसे यहां पोस्ट करने का फैसला किया है।

उत्तर

1

मैंने एक सहायक वर्ग लिखा था कि यह विजेट अपने निर्भरता पेड़ के अंदर कहीं गहराई से उपयोग करता है।

इस सहायक वर्ग के लिए, मैंने ग्रहण को hashCode() और equals(...) कार्यों को स्वत: उत्पन्न करने के लिए कहा। कक्षा में double का एक क्षेत्र शामिल है, जिसके लिए ग्रहण कोड उत्पन्न करता है जो Double.doubleToLongBits() का उपयोग करता है।

बाहर निकलता है जीडब्ल्यूटी इस विधि को Double के संस्करण पर लागू नहीं करता है। लेकिन निश्चित रूप से, ग्रहण संभवतः संकलन-त्रुटि के रूप में नहीं पहचानता है, न ही यह देव मोड में किसी भी समस्या का कारण बनता है यदि मैं यूआईबींडर के बजाय जीडब्ल्यूटी-ऐप के जावा कोड के अंदर विजेट का उपयोग करता हूं।

नाली के नीचे 3 घंटे ... बढ़िया ... उपयोगी त्रुटि संदेशों के लिए हाँ।

अद्यतन:

GWT 2.5.0 (RC1) GWT अब इस विशेष त्रुटि अप्रचलित प्रतिपादन Double.doubleToLongBits() का समर्थन करता है, लेकिन एक लापता JRE अनुकरण के सामान्य त्रुटि तंत्र रहता है और शायद एक स्पष्ट नजर होगा के रूप में इसी तरह के असहाय तरीके से।

2

मैंने एक घटक लिखा था जो जीडब्ल्यूटी जेएसओएन कार्यक्षमता का उपयोग करता था, लेकिन मॉड्यूल में com.google.gwt.json.JSON आयात नहीं किया था। CellList पर जावा 7 शैली <

private static RelationshipViewerUiBinder uiBinder = GWT.create(RelationshipViewerUiBinder.class); 

@UiField(provided=true) 
CellList<String> prioritisedDisplay; 

public RelationshipViewer() { 

    prioritisedDisplay = new CellList<>(new TextCell()); 
    initWidget(uiBinder.createAndBindUi(this)); 
} 

टिप्पणी>:

अपने संदेश यहाँ के लिए धन्यवाद, इस नाली में केवल 2 घंटे ...

3

मैं thusly एक CellList का उपयोग कर रहा था। इसके विपरीत मेरे आईडीई के विरोध के बावजूद, यह पता चला है कि आपको स्पष्ट रूप से सेललिस्ट < स्ट्रिंग> उस नए कॉल में स्पष्ट रूप से कहना होगा, या यह संकलित नहीं होगा और आपको जो भी मिलता है वह उपर्युक्त त्रुटि है। वैसे धन्यवाद, इस प्रश्न के अस्तित्व ने मुझे अपने कोड की जांच करने के लिए प्रेरित किया और शायद मुझे कुछ घंटों बचाया! यह बात तय हो गई:

private static RelationshipViewerUiBinder uiBinder = GWT.create(RelationshipViewerUiBinder.class); 

@UiField(provided=true) 
CellList<String> prioritisedDisplay; 

public RelationshipViewer() { 

    prioritisedDisplay = new CellList<String>(new TextCell()); 
    initWidget(uiBinder.createAndBindUi(this)); 
} 
1

मैं के रूप में DragAndDropCellTree कोई शून्य आर्ग निर्माता है एक UiBinder .ui.xml, जो असंभव था में एक GwtQueryDragAndDropCellTree उपयोग करने के लिए कोशिश कर रहा था।

See more details

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