2013-01-13 11 views
5

एक कार्य अपडेट प्रोग्रेस() को कॉल करके अपनी प्रगति सेट करता है, और एक प्रगति इंडिकेटर की तरह एक जीयूआई विजेट होने की प्रगति होने पर प्रॉपर्टी कार्य की प्रगति से जुड़ी प्रॉपर्टीप्रॉपर्टी। हालांकि, यहां आलेख में उदाहरण 5 में अद्यतन मैसेज को कॉल करने का भी उल्लेख है लेकिन उदाहरण अपूर्ण है।जावाएफएक्स कार्य: अद्यतन मैसेज() कहां लिखता है?

http://docs.oracle.com/javafx/2/threads/jfxpub-threads.htm

इसके बाद से वहाँ ProgressIndicator है और न ही ProgressBar में कोई संदेश संपत्ति इसे करने के लिए बाध्य करने के लिए है, जहां/कैसे संदेश प्रदर्शित होता है मेरे लिए स्पष्ट नहीं है। मुझे लगता है कि कार्य वर्कर वर्ग से संदेश संपत्ति प्राप्त करता है। http://docs.oracle.com/javafx/2/api/javafx/concurrent/Task.html

लेकिन जीयूआई इसे कैसे पकड़ लेगा और बाध्यकारी प्रदर्शन करेगा क्योंकि कार्य केवल सेवा के लिए दृश्यमान है?

मुझे इस के कामकाजी उदाहरण नहीं मिल सका। एन्सेबल नमूने में, सेवा उदाहरण में प्रोग्रेस इंडिकेटर है लेकिन फिर से, कोई संदेश अपडेट नहीं किया गया है। http://download.oracle.com/otndocs/products/javafx/2.2/samples/Ensemble/index.html

उत्तर

9

मैं टास्क के messageProperty तक पहुँचने के लिए myController.service.messageProperty() का उपयोग करने में सक्षम हूँ।

myTextArea.textProperty().bind(myController.myService.messageProperty()); 

ध्यान दें कि यह करने के लिए एक appending के अधिलेखित, बजाय, TextArea करता है।

एक परिशिष्ट करने के लिए, किसी को चेंजलिस्टर को संदेश संपत्ति में बाध्य करना होगा।