控制台到jTextArea1问题。 (空隙!?)

时间:2013-10-07 13:44:27

标签: java user-interface console void

class TreeTraversal
{
  public void main(String[] args) throws IOException
  {
    System.out.println("Displaying the tree");
    theTree.displayTree();

/ **如何打印这些东西?例如Tree.preOrder(Tree.return Root());进入jTextArea 1? * /

    StringBuilder order1 = new StringBuilder("Inorder traversal: ");
    jTextArea1.append("\n"+order1);
    //System.out.println("Inorder traversal");
    theTree.inOrder(theTree.returnRoot());
    //System.out.println(" ");

    StringBuilder order2 = new StringBuilder("Preorder traversal: ");
    jTextArea1.append("\n"+order2);
    //System.out.println("Preorder traversal");
    theTree.preOrder(theTree.returnRoot());
    //System.out.println(" ");

    StringBuilder order3 = new StringBuilder("Postorder traversal: ");
    jTextArea1.append("\n"+order3);
    //System.out.println("Postorder traversal");
    theTree.postOrder(theTree.returnRoot());
    //System.out.println(" ");
  }
}

1 个答案:

答案 0 :(得分:0)

访客模式适合遍历对象结构。要了解访问者,请参阅http://www.oodesign.com/visitor-pattern.html。如果这对您来说过于复杂,那么java http://en.wikipedia.org/wiki/Visitor_pattern

中的访问者更容易理解

您必须创建打印当前访问过的节点的访问者。

要更改遍历顺序,您可以使用所拥有的内容(postOrder,preOrder,inOrder),也可以使访问者方法返回某些值。值应表示noIteration / inOrder / preOrder / postOrder。 这样做的好处是可以在任何节点停止/更改遍历。