阅读量:0
在Java中实现树形菜单可以使用树形数据结构来存储菜单项,然后通过递归的方式来构建树形菜单。
以下是一个简单的示例代码实现树形菜单:
import java.util.ArrayList; import java.util.List; class MenuItem { private String name; private List<MenuItem> children; public MenuItem(String name) { this.name = name; this.children = new ArrayList<>(); } public void addChild(MenuItem child) { this.children.add(child); } public void display(int level) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < level; i++) { sb.append("\t"); } System.out.println(sb.toString() + name); for (MenuItem child : children) { child.display(level + 1); } } } public class Menu { public static void main(String[] args) { MenuItem root = new MenuItem("Root"); MenuItem menu1 = new MenuItem("Menu1"); MenuItem menu2 = new MenuItem("Menu2"); MenuItem menu3 = new MenuItem("Menu3"); MenuItem submenu1 = new MenuItem("Submenu1"); MenuItem submenu2 = new MenuItem("Submenu2"); menu1.addChild(submenu1); menu1.addChild(submenu2); root.addChild(menu1); root.addChild(menu2); root.addChild(menu3); root.display(0); } }
在上面的示例中,我们定义了一个MenuItem
类来表示菜单项,每个菜单项可以有多个子菜单项。然后在Menu
类中构建了一个树形菜单的示例,在main
方法中创建了根菜单项和子菜单项,并调用display
方法展示树形菜单。
通过递归的方式,我们可以很容易地构建复杂的树形菜单结构。