title: How to draw a tree representing a graph of connected nodes?
body: <p>I want to display a tree in a Java GUI, but I dont know how. The tree represents a graph of connected nodes, like this:</p>
  
  <p><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/f/f7/Binary_tree.svg/300px-Binary_tree.svg.png" alt="image"></p>
  
  <p>I should say that I have my own tree class:</p>
  
  <pre><code>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 &amp;&amp; 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 );
  }
  
  }
  </code></pre>
  
  <p>I only want to draw the tree. How should I do?</p>