java 实现折叠菜单栏,Java之仿js实现树状折叠菜单
时间: 2024-01-31 19:18:07 浏览: 92
实现可以展开/折叠的树型菜单
好的,我来为您介绍一下 Java 实现折叠菜单栏的方法。
Java 实现折叠菜单栏,可以使用 Swing 组件中的 JTree,通过设置节点的展开和折叠状态,来实现树状折叠菜单的效果。
下面是一个简单的示例代码,实现了一个树状折叠菜单:
```java
import javax.swing.*;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import java.awt.*;
public class FoldMenuDemo extends JFrame {
private JTree jTree;
public FoldMenuDemo() {
setTitle("Fold Menu Demo");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setPreferredSize(new Dimension(300, 300));
// 创建根节点
DefaultMutableTreeNode root = new DefaultMutableTreeNode("菜单");
// 创建子节点
DefaultMutableTreeNode node1 = new DefaultMutableTreeNode("文件");
node1.add(new DefaultMutableTreeNode("新建"));
node1.add(new DefaultMutableTreeNode("打开"));
node1.add(new DefaultMutableTreeNode("保存"));
node1.add(new DefaultMutableTreeNode("关闭"));
DefaultMutableTreeNode node2 = new DefaultMutableTreeNode("编辑");
node2.add(new DefaultMutableTreeNode("复制"));
node2.add(new DefaultMutableTreeNode("粘贴"));
node2.add(new DefaultMutableTreeNode("剪切"));
// 将子节点添加到根节点
root.add(node1);
root.add(node2);
// 创建 JTree,使用根节点创建 DefaultTreeModel
jTree = new JTree(new DefaultTreeModel(root));
// 设置 JTree 可以展开和折叠
jTree.setToggleClickCount(1);
// 将 JTree 添加到 JFrame
getContentPane().add(new JScrollPane(jTree));
pack();
}
public static void main(String[] args) {
FoldMenuDemo demo = new FoldMenuDemo();
demo.setVisible(true);
}
}
```
通过运行这个程序,可以看到一个简单的树状折叠菜单。您可以根据自己的需求,修改节点的内容和结构,来实现自己的折叠菜单栏。
阅读全文