दिलचस्प पोस्ट
window.onload बनाम $ (दस्तावेज़) .ready () सी कार्यक्रम में शेलकोड डेटाआरडियर और ओएलईडीबी जेट डेटा प्रदाता का उपयोग करते हुए एक सीएसवी फाइल पढ़ने पर, मैं कॉलम डेटा प्रकारों को कैसे नियंत्रित कर सकता हूं? मैं जीएएस में एक ट्रिगर समारोह का परीक्षण कैसे कर सकता हूं? नेक्सस 4 पर यूएसबी डिबगिंग मोड को कैसे ढूंढें और चालू करें क्या मैं उसी मशीन पर Google Chrome के कई संस्करण चला सकता हूँ? (मैक या विंडोज) Window.location.assign () और window.location.replace () के बीच का अंतर कैसे ODBC सी # के माध्यम से मापदंडों बाँध? फायरबेज में, मैं सबसे हाल ही में 10 बाल नोड्स कैसे पूछ सकता हूं? कैसे एक सूचक पता और सूचक सूचक मूल्य बढ़ाना? जावास्क्रिप्ट में एक तत्व पर मैं प्रोग्राममैटिक रूप से कैसे क्लिक करूं? HTML फ़ेविकॉन Google क्रोम पर दिखाई नहीं देगा दिनांक को य्या-एमएम-डीडी प्रारूप में कैसे परिवर्तित किया जाए? मल्टी-लाइन कमांड के लिए लाइन टिप्पणी कैसे करें वर्ग mysqli_result का ऑब्जेक्ट को स्ट्रिंग में परिवर्तित नहीं किया जा सकता

जुड़ा हुआ नोड के ग्राफ़ का प्रतिनिधित्व करने वाले पेड़ को कैसे खींचना है?

मैं जावा जीयूआई में एक पेड़ प्रदर्शित करना चाहता हूं, लेकिन मैं यह नहीं जानता कि कैसे पेड़ इस तरह जुड़ा हुआ नोड का एक ग्राफ का प्रतिनिधित्व करता है:

छवि

मुझे कहना चाहिए कि मेरा अपना पेड़ वर्ग है:

public class BinaryTree { private BinaryNode root; public BinaryTree( ) { root = null; } public BinaryTree( Object rootItem ) { root = new BinaryNode( rootItem, null, null ); } public BinaryTree( Object rootItem,BinaryNode a,BinaryNode b ) { root = new BinaryNode( rootItem, a, b ); } public int leavesCount(){ return BinaryNode.leavesCount(root); } public boolean equal(BinaryTree a,BinaryTree b){ return BinaryNode.equal(a.root, b.root); } public void printPreOrder( ) { if( root != null ) root.printPreOrder( ); } public void printInOrder( ) { if( root != null ) root.printInOrder( ); } public void printPostOrder( ) { if( root != null ) root.printPostOrder( ); } public void makeEmpty( ) { root = null; } public boolean isEmpty( ) { return root == null; } public void merge( Object rootItem, BinaryTree t1, BinaryTree t2 ) throws MergeAbrot { if( t1.root == t2.root && t1.root != null ) { throw new MergeAbrot("MergeAbrot"); } root=new BinaryNode( rootItem, t1.root, t2.root ); if( this != t1 ) t1.root = null; if( this != t2 ) t2.root = null; } public int size( ) { return BinaryNode.size( root ); } public int height( ) { return BinaryNode.height( root ); } } 

मैं केवल पेड़ को आकर्षित करना चाहता हूं मुझे कैसे करना चाहिए?

Solutions Collecting From Web of "जुड़ा हुआ नोड के ग्राफ़ का प्रतिनिधित्व करने वाले पेड़ को कैसे खींचना है?"

सबसे सरल तरीका मैं सोच सकता हूं कि एक वर्ग लिखना जो कि JPanel विस्तार करता है और इसके paintComponent() विधि को ओवरराइड करता है। पेंट विधि में आप पेड़ के माध्यम से दोहरा सकते हैं और प्रत्येक नोड को पेंट कर सकते हैं। यहाँ एक छोटा उदाहरण है:

 import java.awt.Graphics; import javax.swing.JFrame; import javax.swing.JPanel; public class JPanelTest extends JPanel { @Override public void paintComponent(Graphics g) { // Draw Tree Here g.drawOval(5, 5, 25, 25); } public static void main(String[] args) { JFrame jFrame = new JFrame(); jFrame.add(new JPanelTest()); jFrame.setSize(500, 500); jFrame.setVisible(true); } } 

पेड़ को चित्रित करने पर एक चाकू ले लो, अगर आप इसे अपने प्रश्न में जो भी करने की कोशिश कर रहे हैं, उसके बाद इसे समझ नहीं सकते हैं।

आप इनमें से किसी पर विचार कर सकते हैं:

  • JHotDraw , यहाँ उद्धृत, कस्टम ग्राफ़ संपादकों बनाने के लिए एक मेटा-लाइब्रेरी।

  • प्रीफ्यूज विज़ुअलाइज़ेशन लाइब्रेरी , यहां और यहां सचित्र।

  • बाटिक , जो एसवीजी रेंडरिंग को लागू करता है।

  • जेग्राफ डेमो और उपयोगकर्ता पुस्तिका

  • ग्राफ़स्ट्रीम , यहां सचित्र।

  • XYBubbleRenderer

  • एक JTree , यहां सुझाए गए , एक कस्टम TreeIcon

  • एक कस्टम रेंडरर , एक्स के साथ पेड़ की चौड़ाई के आधार पर एक्स और पुनरावृत्ति स्तर पर आधारित y

  • एक सरल ग्राफ संपादक जैसे draw.GraphPanel , यहां सचित्र।

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

मुझे लगता है कि आपको सिर्फ जेटी्री के बारे में पढ़ना होगा: http://docs.oracle.com/javase/tutorial/uiswing/components/tree.html

और हो सकता है स्विंग के बारे में कुछ सामान्य जानकारी