2010-01-20 21 views
8

मैं "प्रक्रिया" नामक एक डेटाबेस में एक मेज हैजावा में पेड़ पदानुक्रम कैसे प्रदर्शित करें?

इस प्रक्रिया तालिका 3 क्षेत्रों है:

  • PROCESS_ID
  • process_name
  • process_parent_id

अब मैं प्रदर्शित करना चाहते हैं ग्राफिकल प्रारूप में यह अभिभावक बाल पदानुक्रम। तो क्या आप कृपया मुझे निम्नलिखित सुझाव दे सकते हैं:

प्रश्न 1। डेटाबेस डेटा से डेटा प्राप्त करने और उस डेटा संरचना में स्टोर करने के लिए उपयोग करने के लिए कौन सी डेटा संरचना बेहतर होगी?

प्रश्न 2। ग्राफिकल प्रारूप में उस पेड़ (प्रक्रिया पदानुक्रम) को कैसे प्रदर्शित करें?


संपादित करें:

मैं इस तरह ग्राफिकल प्रारूप कुछ चाहते हैं:

Tree hierarchy

+0

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

उत्तर

16

स्विंग एक अंतर्निहित में एक पेड़ JTree बुलाया प्रारूप में डेटा प्रदर्शित करने के लिए नियंत्रण। यह DefaultTreeModel नामक डेटा मॉडल भी प्रदान करता है जिसे आप डेटा स्टोर करने के लिए उपयोग कर सकते हैं। This link डेटा मॉडल के साथ JTree का उपयोग करने का एक बहुत अच्छा स्पष्टीकरण देता है।

[संपादित करें]:

अपने अपडेट किए गए सवाल का जवाब करने के लिए, इस तरह एक ग्राफ काफी अच्छी तरह से JGraph जो भी जो पेड़ मॉडल स्विंग प्रदान करता है के समान ही कार्य करने लगता है डाटा मॉडल प्रदान करेगा द्वारा नियंत्रित किया जा सकता है।

+0

क्या आप संपादित प्रश्न को देख सकते हैं? –

+1

जेजीआरएफ लाइसेंस प्राप्त है। –

2

पुन प्रश्न 1: आप इंटरनेट संसाधनों पर वृक्ष संरचना के कई जावा कार्यान्वयन पा सकते हैं, उदाहरण के लिए this generic tree

पुन प्रश्न 2: एक विकल्प using JTree है। How to use Trees

JGraphT पर जावा ट्यूटोरियल ट्रेल की जांच करें, उदाहरण के लिए कुछ अच्छा बनाने के लिए एक अच्छा प्रारंभिक बिंदु हो सकता है। http://jgrapht.sourceforge.net/visualizations.html

5

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

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