2010-03-04 10 views
6

मुझे ऐसे प्रोग्राम को लिखने की आवश्यकता होगी जो व्यक्तियों की एक सूची लेता है और निर्देशित-ग्राफ-जैसी तरीके से उन्हें एक साथ जोड़ता है। पूरी परियोजना का जीयूआई पहलू बहुत महत्वपूर्ण है। ग्राफ को बहुत सारी बातचीत की अनुमति देनी चाहिए। जैसे कि कई लोगों को चुनना और दूसरों को छिपाना, उन्हें चारों ओर ले जाना।निर्देशित ग्राफों को डिजाइन करने के लिए ओपन सोर्स लाइब्रेरी

इसके अतिरिक्त, सॉफ्टवेयर इस तरह के बहुत से टैब, पाठ बॉक्स आदि

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

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

संपादित करें: क्या आप यह भी बता सकते हैं कि मैं जीयूआई कैसे प्रोग्राम कर सकता हूं जो जेनरेट किए गए ग्राफ से बातचीत कर सकता है? उदाहरण के लिए माउस घटनाओं।

उत्तर

5

JGraph के साथ संयोजन में JGraphT के बारे में।

बुनियादी बातचीत

+0

जेजीआरपी वेबस्टार्ट डेमो ऐप बहुत प्यारा दिख रहा है: http://jgraph.com/jgraph.html दुर्भाग्य से यह केवल वाणिज्यिक दिखता है? – dsummersl

+2

जेजीआरएफ/जेजीआरएफ़एक्स वाणिज्यिक नहीं हैं वे बीएसडी लाइसेंस प्राप्त हैं। आप जो भी संदर्भ दे रहे हैं वह mxGraph है जो एक ही लोगों द्वारा जावास्क्रिप्ट लाइब्रेरी है http://www.jgraph.com/mxgraph.html। एमएक्सग्राफ वाणिज्यिक है – jitter

4

ग्राफवीज़ पर विशेष रूप से इसके बाएं घटक को देखें। यह आपकी जरूरतों को पूरा करना चाहिए।

http://en.wikipedia.org/wiki/Graphviz

+0

इसके लिए धन्यवाद। ग्राफविज़ ऐसा लगता है कि मुझे क्या उपयोग करने की आवश्यकता होगी। हालांकि, मैं अपने सॉफ़्टवेयर के लिए जावा या रूबी जैसी प्रोग्रामिंग भाषा का उपयोग करना पसंद करूंगा। क्या आपके पास एक अच्छा ट्यूटोरियल होगा कि जब कोई उपयोगकर्ता नोड पर क्लिक करता है तो माउस ईवेंट जोड़ने के लिए जीयूआई (यानी टीटी, जीटीके, क्यूटी या स्विंग) से यह कैसे संभव है? मैं खुद को यह समझने में सक्षम नहीं हूं कि ऐसा कैसे करें। आपके समय के लिए धन्यवाद। – Benjamin

1

आप Dynagraph को देखने के लिए चाहते हो सकता है।

संपादित करें: ग्राफ़विज़ और डायनाग्राफ प्रस्तुत करने वाला एक लेख here उपलब्ध है।

+0

इसके लिए धन्यवाद। कोई ट्यूटोरियल या बाध्यकारी librairies जो आसानी से एक नोड पर माउस क्लिक जैसे घटनाओं को जोड़ने की अनुमति दे सकता है? – Benjamin

3

अपने वास्तविक लक्ष्य और जरूरतों पर निर्भर करता के साथ यहां एक simple demo के लिए चेक, आप processing.org पर एक नज़र लेने पर विचार हो सकता है। साइट में कई डेमो हैं और कई अन्य पुस्तकालयों की तरह, यह मुफ़्त है। प्रसंस्करण का उपयोग करने के लिए आपको ज्यादा जानने की आवश्यकता नहीं है। यह जावा के समान है और जावा में लिखा गया है, लेकिन आपको जावा संरचना और कोड को अनदेखा करने की अनुमति देता है और केवल वही करता है जो आप चाहते हैं।

चूंकि आपने बताया है कि आप x या y कोड में कोड का उपयोग करना चाहते हैं, ऐसा लगता है जैसे आपने कोई भाषा निर्णय नहीं लिया है, इसलिए यह आपके समय के लायक हो सकता है। वहां 15 मिनट व्यतीत करें और यह देखने के लिए डेमो देखें कि क्या आप जो खोज रहे हैं वह प्रदान करता है। यदि एक समाधान के लिए गति आपके मानदंडों में से एक है, तो यह ऐसा कर सकता है।

0

मेरा पहला विचार ILOG Views (जावा, नेट, सी ++) के लिए था, जो अब आईबीएम के स्वामित्व में है, लेकिन उनकी कीमत अपेक्षाकृत खड़ी है। मेरा दूसरा विचार yFiles (जावा या .NET के लिए) होगा, शायद yEd (केवल जावा) के संयोजन के साथ।

यदि वह अभी भी इसे काट नहीं देता है, तो this list पर विकल्प देखें (बजाय छोड़े गए, कुछ टूल ओपन सोर्स नहीं हैं, अन्य अन्य कारणों से आपको अनुकूल नहीं होंगे)।

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