gpt4 book ai didi

java - 如何显示层次结构 (Java)

转载 作者:行者123 更新时间:2023-12-01 17:32:19 26 4
gpt4 key购买 nike

我有这个项目,它允许用户在其中创建自己的项目并将其保存并执行更多操作。我使用 Eclipse 程序在 Java 中完成这一切。今天我主要想知道如何显示层次结构?更具体一点,当用户创建项目时,它会询问他们想要将项目文件夹放在哪里。假设他们选择一个名为 JavaProjects 的文件夹,它位于桌面(我使用 Windows,所以如果 Mac 和 Linux 上的不一样,请原谅我),在该文件夹中,他们有一个 Scripts 文件夹和一个 Art 文件夹,在该文件夹中,他们有一个纹理文件夹和一个 Logo 文件夹(当我制作这个文件夹时,我的脑海中也浮现出这些文件夹)我怎样才能让它在我的 JPanelEast 中的某个位置显示类似于 Eclipse 中的 Package Explorer 的格式?我是否可以只扫描他们放入的文件夹并将所有文件夹和文件像这样整齐地排列起来?或者我是否必须做一些超出我所知的事情?

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

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);
}
}

感谢您提前提供的所有帮助

最佳答案

您可以从 File Browser GUI 的代码开始.

关于java - 如何显示层次结构 (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9796014/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com