2011-02-10 13 views
24

HI के चयनित आइटम होने का पसंदीदा तरीका,एक JComboBox

जो एक स्ट्रिंग के रूप में एक JComboBox से मूल्य प्राप्त करने के सही तरीका क्या है और क्यों यह सही तरीका है। धन्यवाद।

String x = JComboBox.getSelectedItem().toString(); 

या

String x = (String)JComboBox.getSelectedItem(); 

उत्तर

37

आप केवल डाल दिया है, तो (गैर नल) JComboBox में String संदर्भ, तो किसी भी तरह से ठीक है।

हालांकि, पहली समाधान भी है जिसमें आप Integer रों, Doubles रों, LinkedList रों आदि कॉम्बो बॉक्स में आइटम के रूप में सम्मिलित भविष्य संशोधन के लिए अनुमति होगी।

null मूल्यों (अभी भी कास्टिंग के बिना) के खिलाफ मजबूत होने के लिए आप किसी तृतीय विकल्प पर विचार हो सकता है:

String x = String.valueOf(JComboBox.getSelectedItem()); 
5

पहली विधि सही है।

यदि आप Object विधियों के अलावा अन्य तथ्य के बाद x के साथ कुछ भी करने का प्रयास करते हैं तो दूसरी विधि बिल्ली के बच्चे को मार देती है।

+3

+1 और हम बिल्ली के बच्चे को मारना नहीं चाहते हैं! –

+1

ठीक है, पहली विधि नट-आइटम पर बिल्ली के बच्चे को मार देती है। बिल्ली के बच्चे की बचत-समाधान के लिए मेरा जवाब देखें;) – aioobe

+5

@aioobe: हम 'शून्य' बिल्ली के बच्चे की परवाह क्यों करते हैं? :) – James

1

जब तक आपको जरूरी न हो तब तक कास्ट न करें। ToString() को कॉल करने के साथ गलत हस्ताक्षर नहीं किया गया है।

0

ध्यान दें कि यह दिल JComboBox के बारे में कोई सवाल नहीं है, लेकिन किसी भी संग्रह के बारे में जिसमें कई प्रकार की वस्तुएं शामिल हो सकती हैं। यह भी कहा जा सकता है कि "मैं एक सूची से स्ट्रिंग कैसे प्राप्त करूं?" या "Object[] में से मुझे String कैसे प्राप्त हो सकता है?"

+1

और यह कोई जवाब नहीं है, इसकी एक टिप्पणी है। – camickr

+0

ध्यान दें कि कई लोग इस हास्यास्पद प्रणाली में टिप्पणी नहीं कर सकते - "एक्स प्रतिष्ठा की आवश्यकता है"। –

0
String x = JComboBox.getSelectedItem().toString(); 

किसी भी मूल्य मौसम यह पूर्णांक, डबल, लांग, लघु पाठ दूसरी ओर में है,

String x = String.valueOf(JComboBox.getSelectedItem()); 

शून्य मान से बचने जाएगा परिवर्तित कर देंगे, और स्ट्रिंग के लिए वस्तु से चयनित आइटम परिवर्तित

0
JComboBox mycombo=new JComboBox(); //Creates mycombo JComboBox. 
add(mycombo); //Adds it to the jframe. 

mycombo.addItem("Hello Nepal"); //Adds data to the JComboBox. 

String s=String.valueOf(mycombo.getSelectedItem()); //Assigns "Hello Nepal" to s. 

System.out.println(s); //Prints "Hello Nepal". 
+0

सुधार: इस उत्तर की अंतिम पंक्ति "आउट" केवल एक बार है। –

+0

हाय, रामकृष्ण थापा, [इसलिए] में आपका स्वागत है। अगर आप अपने उत्तर में सुधार करना चाहते हैं, तो पोस्ट के तहत "[संपादित करें] लिंक पर क्लिक करें। धन्यवाद। – Pang

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