2009-08-18 7 views

उत्तर

16

ArrayList वर्ग की toArray() विधि का उपयोग करें और अधिक जानकारी के लिए JavaDoc और tutorial देखें कि यह JComboBox

के निर्माता में गुजरती हैं।

+3

यदि आप ArrayList जैसे कुछ कर रहे हैं। अपनी व्यक्तिगत श्रेणी में, आप toString() को परिभाषित कर सकते हैं जो आपके मूल्य को कॉम्बोबॉक्स के लिए समायोजित करेगा। साथ ही, आपको ArrayList.toArray() का उपयोग करते समय ऑब्जेक्ट [] (स्ट्रिंग [] के बजाय) के रूप में अपने सरणी चर घोषित करना पड़ सकता है। ट्यूटोरियल में – fivetwentysix

+1

कोई सरणीसूची – Lobato

0

भविष्य में संदर्भ के लिए:

//first create the array; 
String[] comboBoxArray = {"item1","item2","item3"}; 


//create JComboBox and assign it to the comboBox 
JComboBox comboBox1 = new JComboBox(comboBoxArray); 
+8

के साथ कोई उदाहरण नहीं हैं यह प्रश्न का उत्तर नहीं देता है। वह जानना चाहता है कि इसे एक ऐरेलिस्ट के साथ कैसे करना है, न कि एक प्राचीन प्रकार के सरणी के साथ। – sage88

-4

मैं लगता है कि समाधान

ArrayList<table> libel = new ArrayList<table>(); 
try { 
SessionFactory sf = new Configuration().configure().buildSessionFactory(); 
Session s = sf.openSession(); 
s.beginTransaction(); 

String hql = "FROM table "; 

org.hibernate.Query query = s.createQuery(hql); 
libel= (ArrayList<table>) query.list(); 
Iterator it = libel.iterator(); 
while(it.hasNext()) { 
table cat = (table) it.next(); 

cat.getLibCat();//table colonm getter 


combobox.addItem(cat.getLibCat()); 
} 
s.getTransaction().commit(); 
s.close(); 
sf.close(); 
} catch (Exception e) { 
System.out.println("Exception in getSelectedData::"+e.getMessage()); 
+1

यह अविश्वसनीय रूप से भ्रमित है। इस समस्या को बिना किसी गड़बड़ी के कोड की 2 लाइनों के साथ हल किया जा सकता है। – sage88

6

मैं स्वीकार किए जाते हैं जवाब या @ fivetwentysix की टिप्पणी है कि यह कैसे हल करने के लिए के बारे में पसंद नहीं है है। यह करने के लिए यह एक विधि में आता है, लेकिन एररे का उपयोग करने के लिए पूर्ण समाधान नहीं देता है। आपको ऐरे का उपयोग करने की आवश्यकता है और इसे एक तर्क दें जो सही प्रकार और आकार की सरणी है ताकि आप ऑब्जेक्ट सरणी के साथ समाप्त न हों। जबकि ऑब्जेक्ट सरणी काम करेगी, मुझे नहीं लगता कि यह दृढ़ता से टाइप की गई भाषा में सबसे अच्छा अभ्यास है।

String[] array = arrayList.toArray(new String[arrayList.size()]); 
JComboBox comboBox = new JComboBox(array); 

वैकल्पिक रूप से, आप केवल लूप का उपयोग करके मजबूत टाइपिंग को भी बनाए रख सकते हैं।

String[] array = new String[arrayList.size()]; 
for(int i = 0; i < array.length; i++) { 
    array[i] = arrayList.get(i); 
} 
JComboBox comboBox = new JComboBox(array); 
11

सुरुचिपूर्ण तरीका एक सरणी सूची साथ कॉम्बो बॉक्स को भरने के लिए:

List<String> ls = new ArrayList<String>(); 
jComboBox.setModel(new DefaultComboBoxModel(ls.toArray())); 
+1

मैंने यह कोशिश नहीं की है, लेकिन ऐसा लगता है कि आप इस दृष्टिकोण का उपयोग कर स्ट्रिंग सरणी की बजाय ऑब्जेक्ट सरणी के साथ jComboBox भरना समाप्त कर देंगे। – sage88

2

मेरा मानना ​​है कि आप अपने ArrayList उपयोग कर एक नया वेक्टर बना सकते हैं और JCombobox है कि पारित कर सकते हैं निर्माता।

JComboBox<String> combobox = new JComboBox<String>(new Vector<String>(myArrayList)); 

मेरा उदाहरण केवल स्ट्रिंग है।

1
DefaultComboBoxModel DLM = new DefaultComboBoxModel(); 
    for (int i = 0; i < <ArrayList>.size(); i++) { 
     DLM.addElement(<ArrayList>.get(i).getField()); 
    } 

    <ComboBoxName>.setModel(DLM); 

समझने योग्य कोड। <> आवश्यकतानुसार संपादित करें।

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

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