【问题标题】:call JTree and put in scrollpane调用 JTree 并放入滚动窗格
【发布时间】:2014-11-23 00:22:11
【问题描述】:

我使用this 教程制作了一个JTree。 现在我想调用这个类并将它放在一个 ScrollPane 中。

但是当我使用这个时

    TreeMainMenu tree = new TreeMainMenu();
    JScrollPane MainMenu = new JScrollPane(tree);

它只获取默认树。我需要了解如何从其他类调用组件才能使用它们。

JTree:

import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreeSelectionModel;

public class TreeMainMenu extends JTree {


private DefaultMutableTreeNode top = new DefaultMutableTreeNode("TOP");


public TreeMainMenu() {

    APNode();
    JTree tree = new JTree(top);



 tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
}


private void APNode() {
    DefaultMutableTreeNode category = null;
    DefaultMutableTreeNode node1 = null;
    DefaultMutableTreeNode node2 = null;
    DefaultMutableTreeNode node3 = null;

    category = new DefaultMutableTreeNode("top");
    top.add(category);

    node1 = new DefaultMutableTreeNode(new Node("top-1"));
    category.add(node1);
    node2 = new DefaultMutableTreeNode(new Node("node1"));
    node1.add(node2);
    node2 = new DefaultMutableTreeNode(new Node("node2"));
    node1.add(node2);
    node2 = new DefaultMutableTreeNode(new Node("node3"));
    node1.add(node2);
    node2 = new DefaultMutableTreeNode(new Node("node4"));
    node1.add(node2);

}

private class Node {
    public String nodeName;

    public Node(String node) {
        nodeName = node;
    }

    public String toString() {
        return nodeName;
    }

}
}

【问题讨论】:

    标签: java swing components jtree


    【解决方案1】:

    您的TreeMainMenu 类已经是JTree,因此您无需创建新的JTree tree = new JTree(top);

    您使用节点创建了一个新树,但 TreeMainMenu 的实例具有默认节点。所以你可以使用TreeMainMenu extends JPanel并将你的树(你在构造函数中创建的)添加到那个面板,或者你需要使用TreeMainMenu的实例作为JTree,你的构造函数可以像下一个:

    public TreeMainMenu() {
    
        APNode();
        setModel(new DefaultTreeModel(top));
        getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-20
      • 2018-12-13
      • 1970-01-01
      • 2012-07-22
      相关资源
      最近更新 更多