2012-08-09 39 views
10

मैं नेटबीन्स आईडीई 7.1.2 का उपयोग कर रहा हूं।नेटबीन - जेसीम्बोबॉक्स चेतावनी - सामान्य वर्ग के लिए गायब प्रकार के तर्क JComboBox <E>

चेतावनी: [rawtypes] ने पाया कच्चे प्रकार: जब मैं अपने आवेदन संकलन मैं निम्नलिखित चेतावनी मिलती है JComboBox शहर = नए javax.swing.JComboBox(); सामान्य वर्ग के लिए JComboBox लापता प्रकार तर्क जहां ई एक प्रकार-चर रहा है:

JComboBox<String> city = new JComboBox<String>(); 

लेकिन यह कैसे: ई वस्तु वर्ग JComboBox में घोषित फैली

तो, मैं मैं के रूप में JComboBox घोषित करने के लिए है लगता है क्या मैं नेटिसन में ऐसा करता हूं, मैटिस (स्विंग जीयूआई बिल्डर) का उपयोग कर? कृपया मदद करे।

उत्तर

1

जावा 7 ने JComboBox पर जेनेरिक पेश किए। आपकी समस्या का एक समाधान जावा 6 के लिए होगा।

मैं शर्त लगाता हूं कि नेटबीन्स (7.2) के नवीनतम संस्करण के लिए इसका समाधान होगा (हालांकि मैं सकारात्मक नहीं हूं)।

अन्यथा, अगर मुझे सही याद है, तो आप Netbeans द्वारा उत्पन्न कोड देख सकते हैं। यदि ऐसा है, तो आप खुद को सामान्य तर्क जोड़ सकते हैं। यह इसके अलावा, (या यहां तक ​​कि वर्ग घोषणा से ऊपर है कि हालांकि यह की गुंजाइश बदल जाता है) कई महीनों हो गया जब मैं Netbeans हालांकि साथ tinkered ...

अगर Netbeans आप JComboBox घोषणा से ऊपर @SupressesWarnings एनोटेशन जोड़ सकते हैं की अनुमति देता है । यह कुछ इस तरह होगा:

@SuppressWarnings("rawtypes") 
JComboBox city = new JComboBox(); 

बहुत सारे विकल्प हैं, लेकिन Netbeans आप उनमें से कुछ को लागू करने से रोक सकता है।

+0

निक मैंने कोड को बदलने की कोशिश की: शहर = नया javax.swing.JComboBox (); (नेटबीन मुझे घोषणा चर बदलने की अनुमति नहीं देता है इसलिए मेरा शहर निजी javax.swing.JComboBox शहर के रूप में परिभाषित किया गया है;)। जब मैंने ऐसा किया तो मुझे निम्न चेतावनी मिलती है: नई अभिव्यक्ति में अनावश्यक प्रकार के तर्क (इसके बजाय हीरा ऑपरेटर का उपयोग करें)। – jadrijan

+1

मुझे यकीन नहीं है कि आप अपने जावा संस्करण को डाउनग्रेड किए बिना या अपने नेटबीन्स आईडीई को अपडेट किए बिना चेतावनी के आसपास पहुंच पाएंगे। सौभाग्य से, यह सिर्फ एक चेतावनी है ताकि यह आपके वास्तविक कोड को प्रभावित न करे। यदि यह आपको परेशान करता है, तो आप अपनी घोषणा के ऊपर इस पंक्ति को जोड़ने का प्रयास कर सकते हैं: '@SuppressWarnings ("rawtypes")' मैं इसे उत्तर में भी जोड़ दूंगा। मैं Netbeans में संकलक चेतावनी बंद करने के लिए एक रास्ता नहीं जानता - किसी और को पता हो सकता है। –

+0

आपको बहुत धन्यवाद निक। कम से कम अब मुझे पता है कि मैं कोडिंग के अनुसार कुछ भी गलत नहीं कर रहा हूं। मुझे आशा है कि यह v7.2 में तय किया गया है, मैंने अभी तक यह कोशिश नहीं की है, ओरेकल को जेडीके के साथ रिलीज करने का इंतजार कर रहा है। – jadrijan

15

नेटबीन्स में 7.2 आप JComboBox के लिए कोड सेक्शन पर क्लिक कर सकते हैं और फिर अपने मामले में "टाइप पैरामीटर्स" टाइप टाइप कर सकते हैं: <String>

+4

इससे मदद मिली, कोड अनुभाग में कैसे पहुंचे इसे स्पष्ट करने के लिए केवल एक छोटा सा सुधार: JComboBox पर राइट-क्लिक करें, _Properties_ चुनें, _Code_ अनुभाग (गुण विंडो के शीर्ष पर) का चयन करें। _Type Parameters_ शीर्ष के करीब है। – chr

+0

@chr और टाइप पैरामीटर _including_ कोण ब्रैकेट लिखना याद रखें। –