2012-08-17 38 views
5

मुझे जावा के साथ बहुत अनुभवी नहीं है और मुझे काम करने के लिए प्रगति पट्टी प्राप्त करने में परेशानी हो रही है। मैं नेटबींस के अंतर्निहित जीयूआई निर्माता का उपयोग कर रहा हूं। वर्तमान में मेरा प्रोग्राम निर्देशिका से छवियों में एक छवि सरणी में पढ़ता है। जाहिर है इसमें थोड़ा सा समय लगता है, इस प्रकार मैं यह जानने के लिए उपयोगकर्ता को अपडेट करने के लिए एक सरल प्रगति पट्टी चाहता हूं कि लोडिंग कितनी दूर है। मैंने उन ड्रैग-एंड-ड्रॉप प्रोग्रेस बार घटकों में से एक का उपयोग किया है।जावा में प्रोग्रेस बार का उपयोग कैसे करें (नेटबीन्स जीयूआई)

-I वर्तमान में निर्देशिका में फ़ाइलों की संख्या प्राप्त कर सकता है और लोड की गई फ़ाइलों के प्रतिशत की गणना कर सकता है- फ़ाइलें सफलतापूर्वक सरणी में लोड होती हैं, लेकिन प्रगति बार केवल सभी फ़ाइलों को लोड होने के बाद अपडेट किया जाता है। मैंने लूप के दौरान पुनर्मूल्यांकन और पुनर्निर्मित करने का प्रयास किया है लेकिन यह पर काम नहीं करता है- मैंने docs.oracle पर विभिन्न ट्यूटोरियल की कोशिश की है लेकिन कुछ भी काम नहीं कर रहा है। -मेरा मानना ​​है कि स्विंगवर्कर वह वर्ग है जिसका उपयोग करना चाहिए, क्या यह सही है?

किसी उदाहरण या कुछ सलाह के साथ कोई मदद की सराहना की जाएगी! धन्यवाद!

+0

हां एक स्विंग कार्यकर्ता का उपयोग करें। –

उत्तर

2

हाँ, आप सभी नई घुमाओ programers के जाल में समाप्त हो गया है - Event Dispatching Thread

मूल रूप से कहा जाए तो इस Thread किसी भी स्विंग प्रणाली का दिल है। सभी यूआई घटकों के लिए घटनाओं को प्रेषित करने के साथ-साथ यूआई को अद्यतन करने के लिए पुनर्वित्त प्रबंधक को अनुरोध करने के लिए ज़िम्मेदार है।

यदि आप EDT में किसी भी समय उपभोग करने वाले कार्यों को करते हैं, तो आप UI को अपडेट होने से रोक देंगे।

मैं तुम्हें Worker Threads and SwingWorker और Concurrency in Swing के माध्यम से पढ़ने होने से शुरू करने और, क्योंकि मैं जानता हूँ कि आप से पूछना करने जा रहे हैं, क्या यह उत्तर की एक पढ़ा है सुझाव देंगे, यह SwingWorker उपयोग करने के उदाहरण के एक नंबर, है JTextArea appending problems