Void方法将jTextArea-Transform控制台(递归方法)输出到jTextArea

时间:2015-06-02 20:17:36

标签: java swing recursion jdbc binary-tree

我有以下代码

class BinaryTree{
Node root;
        public void inOrderTraverseTree(Node node) {

            if (node!= null) {

                // Traverse the left node

                inOrderTraverseTree(node.leftChild);

                // Visit the currently focused on node

                System.out.println(node);

                // Traverse the right node

                inOrderTraverseTree(node.rightChild);

            }

        }

        public void preorderTraverseTree(Node node) {

            if (node!= null) {

                System.out.println(node);

                preorderTraverseTree(node.leftChild);
                preorderTraverseTree(node.rightChild);

            }

        }
    public static void main(String[] args) throws SQLException {

            BinaryTree theTree = new BinaryTree();
          //retrieve data from database, create tree, call functions, everything //works-It shows well at console
          theTree.preorderTraverseTree(theTree.root);
          theTree.inOrderTraverseTree(theTree.root);

    }

和第二类

class Node{
Node leftChild;
    Node rightChild;

    Node(int id,int search,int left,int right,String name) {
                this.left=left;
                this.right=right;
        this.id = id;
                this.search=search;
        this.name = name;


        }

//get and sett methods

}

这是我的问题。 控制台应用程序正常工作。我从DATABASE使用JDBC获取输入。顺序,预订......显示良好,由纸张验证。  我的问题是: - 我无法从void方法在jTextArea中打印结果。

我试图做的事情:

  • 使用writeObject将结果打印到文件,并在jTextArea(失败)
  • 中显示它们
  • 尝试转换为字符串(失败)
  • 将void方法转换为字符串1(再次返回null-fail)。我猜它是递归的,我不做就行了

任何提示?如何打印此方法的结果" theTree.preorderTraverseTree(theTree.root)"进入jTextArea?

编辑:我确实声明了一个String / Object并尝试将方法中的值解析为它,但没有成功。另外,我不知道为什么在void方法中setText方法不起作用。

public void preorderTraverseTree(Node node) {

        if (node != null) {


            System.out.println(node);
                          jTextArea1.setText(node.toString());

            preorderTraverseTree(node.leftChild);
            preorderTraverseTree(node.rightChild);

        } 
    }        

//和按钮

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {          
Node theTree;
theTree.preorderTraverseTree(theTree.root);
}

我的问题:在preorderTraverseTree中,为什么.setTextMethod不起作用。

为什么我需要这个?好吧,我不会把控制台输出放在jTextArea

0 个答案:

没有答案