Thursday 15 September 2011

java - Having a preselected option in a JList -


पृष्ठभूमि:

मैं बना रहा हूँ एक क्रूज कंपनी के लिए एक GUI सिस्टम का उपयोगकर्ता कार्य कर सकता है जैसे कि: जीयूआई के उपयोग के साथ नए जहाज़, डेक, केबिन और क्रूज जोड़ें

समस्या:

मेरे सिस्टम में, मैंने एक क्रूज़ डुप्लिकेट करने की क्षमता जोड़ दी है, इसलिए एक बार चयनित क्रूज को डुप्लिकेट करने के लिए चुना गया है, एक अलग फ्रेम खुलती है, जो क्रूज़ से डेटा के साथ पूर्व-आबादी है, जिसमें से उसे दोहराया जा रहा है हालांकि, एक अलग फ्रेम जो खुलता है (इसे "डुप्लिकेट क्रूज़ फ़्रेम" कहते हैं), इस फ़्रेम में एक जेलिस्ट भी है जो क्रूज़ को एक जहाज प्रदान करता है।

प्रश्न:

मुझे पहले से हाइलाइट किए गए जहाज को सौंपे जाने के लिए डुप्लिकेट क्रूज़ फ्रेम में जेएलआईस्ट की आवश्यकता है JList में।

उदाहरण के लिए, अगर मेरे पास निम्न डेटा के साथ क्रूज़ है:

  शिप नाम: पेगासस स्टार्ट पोर्ट: ओबान एंड पोर्ट: टेरान "डुप्लिकेट" बटन पर क्लिक करने पर मैं चाहता हूं कि डुप्लिकेट क्रूज़ फ़्रेम में जेलिस्ट को पहले से ही है:  शिप करने के लिए तैयार: स्कॉटी  हाइलाइट किया गया। 

कोड स्निपेट:

यह JList है जो जहाजों (जहाजों की एक सरणी) के बारे में डेटा रखता है: < / P>

  JScrollPane scrollPane2 = नया JScrollPane (); शिप लिस्ट = नया जेलिस्ट (बेड़े। गेट्सशिप ()। ToArray ()); scrollPane2.setViewportView (shipList); shipList.setSelectionMode (ListSelectionModel.SINGLE_SELECTION); shipList.setVisibleRowCount (4); southPanel.add (scrollPane2); wholeFramePanel2.add (southPanel); addCruiseF.add (wholeFramePanel2); addCruiseF.setVisible (सही);  

मैंने जो कोशिश की है:

  shipList.setSelectedIndex (shipList.getSelectedIndex ()) ;  

और ...

  के लिए (int i = 0; i & lt; model.getSize (); i ++) {ऑब्जेक्ट o = model.getElementAt (मैं); यदि (ओ। एंगल्स (क्रूज़.गेटएसिप ())) {shipList.ensureIndexIsVisible (shipList.getSelectedIndex ()); shipList.setSelectedIndex (i); }}  

हालांकि ऊपर दो दृष्टिकोणों में से कोई भी जहाज़ को उजागर करने के लिए लगता है कि क्रूज़ को असाइन किया गया है। मैं इस बारे में कैसे करूँ?

यह निश्चित रूप से कुछ नहीं करेगा:

  shipList.setSelectedIndex (shipList.getSelectedIndex ());  

क्योंकि आप उसी से चुने गए जलील सूची से सूची का चयन करने का प्रयास कर रहे हैं यह सही विचार है, लेकिन आपको मूल JList से चयन इंडेक्स का उपयोग करने की आवश्यकता है आप यह कैसे करते हैं यह विशेष रूप से निर्भर करता है कि आपका प्रोग्राम किस प्रकार संरचित है, लेकिन मैं शर्त लगा सकता हूं कि आप इसे समझ सकेंगे।


No comments:

Post a Comment