如何显示层次结构(Java)

如何显示层次结构(Java),java,eclipse,swing,Java,Eclipse,Swing,我有这个项目,它允许用户在其中创建自己的项目,并保存下来,做更多的事情。我使用Eclipse程序在Java中完成这一切。今天我主要想知道如何显示层次结构?更具体一点,当用户创建一个项目时,它会询问他们希望将项目文件夹放在哪里。假设他们选择一个文件夹名JavaProjects及其桌面(我使用windows,如果Mac和Linux上的文件夹不一样,请原谅),在这个文件夹中有一个脚本文件夹和一个艺术文件夹,在这个艺术文件夹中有一个纹理文件夹和一个徽标文件夹(我在做这件事的时候也会在脑海中想到这些文件夹

我有这个项目,它允许用户在其中创建自己的项目,并保存下来,做更多的事情。我使用Eclipse程序在Java中完成这一切。今天我主要想知道如何显示层次结构?更具体一点,当用户创建一个项目时,它会询问他们希望将项目文件夹放在哪里。假设他们选择一个文件夹名JavaProjects及其桌面(我使用windows,如果Mac和Linux上的文件夹不一样,请原谅),在这个文件夹中有一个脚本文件夹和一个艺术文件夹,在这个艺术文件夹中有一个纹理文件夹和一个徽标文件夹(我在做这件事的时候也会在脑海中想到这些文件夹)我怎么能让它在我的JPA中显示一种类似Eclipse中的PackageExplorer的格式呢?我能扫描一下他们放进去的文件夹,把所有的文件夹和文件都像那样整齐地排列好吗?还是我必须在我的知识之外做更多的事情

如果有帮助,这里是我的代码,减去菜单栏和操作侦听器

package Engine;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JRadioButtonMenuItem;
import javax.swing.SwingConstants;

@SuppressWarnings("serial")
public class TestProjectBuilder extends JFrame {

    JPanel jPanelNorth = new JPanel();
    JPanel jPanelSouth = new JPanel();
    JPanel jPanelEast = new JPanel();
    JPanel jPanelCenter = new JPanel();

    JButton jButtonDebug = new JButton("Debug");
    JButton jButtonPause = new JButton("Pause");
    JButton jButtonRun = new JButton("Run");

    JLabel jLabelHeir = new JLabel("");

    GridLayout gridLayout1 = new GridLayout(4,1);

    public TestProjectBuilder() {

        setTitle("Test Project Builder");
        setSize(1400, 800);

        jPanelNorth.setBackground(Color.DARK_GRAY);
        jPanelNorth.setBorder(BorderFactory.createRaisedBevelBorder());
        jPanelNorth.setPreferredSize(new Dimension(14, 40));
        jPanelNorth.setToolTipText("North Panel");

        jPanelNorth.add(jButtonDebug);
        jButtonDebug.setHorizontalAlignment(SwingConstants.CENTER);
        jPanelNorth.add(jButtonPause);
        jButtonPause.setHorizontalAlignment(SwingConstants.CENTER);
        jPanelNorth.add(jButtonRun);
        jButtonRun.setHorizontalAlignment(SwingConstants.CENTER);

        jPanelSouth.setBackground(Color.DARK_GRAY);
        jPanelSouth.setBorder(BorderFactory.createTitledBorder(""));
        jPanelSouth.setPreferredSize(new Dimension(10,200));
        jPanelSouth.setToolTipText("South Panel");

        jPanelEast.setBackground(Color.DARK_GRAY);
        jPanelEast.setBorder(BorderFactory.createEtchedBorder());
        jPanelEast.setPreferredSize(new Dimension(300,10));
        jPanelEast.setToolTipText("East Panel");

        jPanelCenter.setBackground(Color.GRAY);
        jPanelCenter.setBorder(BorderFactory.createEtchedBorder());
        jPanelCenter.setPreferredSize(new Dimension(56,10));
        jPanelCenter.setToolTipText("Center Panel");



        this.getContentPane().add(jPanelNorth, BorderLayout.NORTH);
        this.getContentPane().add(jPanelSouth, BorderLayout.SOUTH);
        this.getContentPane().add(jPanelEast, BorderLayout.EAST);
        this.getContentPane().add(jPanelCenter, BorderLayout.CENTER);

        jPanelCenter.setLayout(gridLayout1);

    }
    public static void main(String[] args) {
        TestProjectBuilder tpb = new TestProjectBuilder();
        tpb.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        tpb.setVisible(true);
    }
}

提前感谢所有帮助

Java教程中有一节介绍如何使用TreeView来实现此目的。


我在这里发布了链接,因为对于一个简单的答案来说,这有点复杂。

Java教程中有一节介绍如何使用TreeView来实现这一点。


我在这里发布链接,因为对于一个简单的答案来说,这有点复杂。

您可以从的代码开始


您可以从的代码开始

您必须使用您正在寻找[JTree]()?或者您可能更喜欢a。您必须使用您正在寻找[JTree]()?或者您可能更喜欢a。