📜  在 java 中设置树(1)

📅  最后修改于: 2023-12-03 15:07:40.573000             🧑  作者: Mango

在 Java 中设置树

在 Java 中,我们可以使用 Swing 框架来创建树形结构,展示数据或者实现文件目录的展示。本文将介绍如何在 Java 中设置树形结构,并展示一些示例代码片段。

设置树结构

要在 Java 中创建树形结构,我们首先需要创建一个 JTree 对象。可以通过以下代码创建一个空树:

JTree tree = new JTree();

接着,我们需要为树指定根节点。可以通过以下方法指定根节点:

DefaultMutableTreeNode rootNode = new DefaultMutableTreeNode("根节点");
JTree tree = new JTree(rootNode);

在树中添加子节点,可以使用以下方法:

DefaultMutableTreeNode parentNode = new DefaultMutableTreeNode("父节点");
DefaultMutableTreeNode childNode = new DefaultMutableTreeNode("子节点");
parentNode.add(childNode);

最后,将树添加到 JComponent 中即可。

JPanel panel = new JPanel();
panel.add(tree);
示例代码

以下是一个展示文件目录的树形结构的示例代码:

public class FileTree extends JFrame {

  public FileTree() {
    DefaultMutableTreeNode root = new DefaultMutableTreeNode("文件目录");
    File fileRoot = new File("C:/");
    File[] fileList = fileRoot.listFiles();
    for (File file : fileList) {
      DefaultMutableTreeNode node = new DefaultMutableTreeNode(file.getName());
      if (file.isDirectory()) {
        File[] subFileList = file.listFiles();
        for (File subFile : subFileList) {
          node.add(new DefaultMutableTreeNode(subFile.getName()));
        }
      }
      root.add(node);
    }

    JTree tree = new JTree(root);
    JScrollPane scrollPane = new JScrollPane(tree);
    add(scrollPane);

    setTitle("文件目录");
    setSize(400, 600);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setLocationRelativeTo(null);
    setVisible(true);
  }

  public static void main(String[] args) {
    new FileTree();
  }
}

以上代码会创建一个文件夹目录的树形结构,根节点是 C:/,子节点为该文件夹下的所有文件和子文件夹。

总结

在 Java 中设置树形结构需要使用 JTreeDefaultMutableTreeNode 类,可以通过添加节点实现树形结构的构建。我们可以用树形结构展示数据,实现文件目录的展示等等。