2012-09-14 24 views
7

javafx गुणों में javafx गुणों का उपयोग और बाध्यकारी का उपयोग डेटा-मॉडल को एक javafx gui से कनेक्ट करने का एक शानदार तरीका है क्योंकि उनका बाध्यकारी मॉडल एक शक्तिशाली अधिसूचना-अद्यतन तंत्र लागू करता है।
डेटा मॉडल

गुण और बाइंडिंग सख्ती से गुई से संबंधित नहीं हैं, बल्कि वे javabeans के लिए एक विस्तार हैं।

तो कोई पैकेज javafx.beans.property.StringProperty पर सामान्य रूप से javafx.* पर निर्भरता पेश किए बिना एप्लिकेशन मॉडल कक्षाओं में उनका उपयोग करना चाहेगा।

दूसरे शब्दों में: (अपडेट)
मैं दो मॉड्यूल में आवेदन को विभाजित करने की आवश्यकता हो सकती।
एक मॉड्यूल में केवल कक्षाएं होनी चाहिए जो डेटा (मॉडल वर्ग, एमवीसी बोलने) में हेरफेर करें।
एक दूसरे मॉड्यूल में सभी ग्राफिकल गुई सामान होंगे, जो जावाफक्स है।

यदि मेरे डेटा-क्लासेस javafx बाध्यकारी का उपयोग करते हैं, तो मैं एक आयात javafx.beans.anything; (सबसे अच्छी बात यह होगी कि बाइंडिंग जावा का हिस्सा थे। * या जावैक्स। *, इसलिए मैं "gui लाइब्रेरी" का संदर्भ नहीं दूंगा कोर-डेटा लाइब्रेरी)। तथ्य यह है कि जावाफ को स्टार्डर्ड रिलीज़ में शामिल किया जाएगा, इस प्रोलबम को कम करता है, लेकिन यह एक मुश्किल समाधान लगता है। आखिर में मुझे लगता है कि मैं एक वेब एप्लिकेशन को घुमाता हूं जो कुछ स्विंग "उपयोगिता" वर्ग पर निर्भर करता है।

क्या कोई विकल्प उपलब्ध हैं?

मैं सूचीकरण के साथ नियमित जावबीन गुण बनाने के लिए आवश्यक प्रयासों का मूल्यांकन कर रहा हूं और उन्हें एफएक्स गुणों में पुल कर रहा हूं।

+1

क्या आप स्पष्ट कर सकते हैं कि javafx.beans संकुल पर निर्भरता के बिना javafx गुणों का उपयोग करके आप क्या कह सकते हैं? आप या तो उन्हें उस पैकेज से उपयोग करते हैं या अपने स्वयं के लिखते हैं। और बाद का विकल्प बहुत उपयोगी नहीं है क्योंकि जावाएफएक्स 7u4 के बाद से जावा का हिस्सा है। –

+0

मैंने एक 'दूसरे शब्दों में' जोड़ा है। – AgostinoX

+1

सर्गेई ने आपको सही संकेत दिया है। यदि आप गुणों का उपयोग करना चाहते हैं और बाध्यकारी बस इन्हें अपने मॉडल में उपयोग करें! वैसे भी 7u4 के बाद से यह जेडीके का हिस्सा है। – pmoule

उत्तर

1

पीओजेओ (सादा ओल्ड जावा ऑब्जेक्ट) तकनीक के लिए जावाएफएक्स ऑब्जेक्ट का बाध्यकारी आपको यहां मदद कर सकता है। http://ugate.wordpress.com/2012/06/06/javafx-pojo-bindings/

दो शब्दों में आप POJO वस्तुओं का उपयोग करने के लिए अगले तरीके से उपयोग कर सकते हैं::

ट्यूटोरियल के अगले सेट देखें

Person person = new Person(); 
    PathProperty prop = new PathProperty(
     person, "address.streetName", String.class); 
    Bindings.bindBidirectional(prop, myTextField.textProperty()); 
    prop.set("123 1st Street"); 
1

के रूप में सेर्गेई ने कहा: jfxtras पुस्तकालय BeanPathAdapter एपीआई के साथ एक समाधान है: https://github.com/JFXtras/jfxtras-labs/blob/2.2/src/main/java/jfxtras/labs/scene/control/BeanPathAdapter.java

यदि आप ग्रेनाइट डेटा सेवाओं का उपयोग करते हैं तो एक विकल्प है: इसमें एक वर्ग जनरेटर है जिसे आप javafx गुणों को उत्पन्न करने के लिए अनुकूलित कर सकते हैं। यह एक सुंदर ढांचा है जो जावा-एक्स अनुप्रयोगों के सर्वर-साइड एकीकरण पर केंद्रित है। http://java.dzone.com/articles/data-management-javafx-and