首页 > 技术文章 > Java动态菜单添加

StephenChowcai 2017-08-19 14:57 原文

 自己做出来的添加数据库配置好的动态菜单的方法

private void createMenu() {
  IMenuDAO dao = new MenuDAOImpl();
  String sql1 = "select * from menu where menuId like '__'";
  String sql2 = "select * from menu where menuId like '____'";
  //记住这里是用的自己写的实体Menu,而不是Java本身的
  List<Menu> list1 = dao.findAll(sql1);//一级菜单
  List<Menu> list2 = dao.findAll(sql2);//二级菜单
  
   for (Menu menu1 : list1) {
    JMenu teMenu = new JMenu();
    JMenuItem teItem = null;
    for (Menu menu2 : list2) {
     if(menu2.getMenuId().startsWith(menu1.getMenuId())) {
     teItem = new JMenuItem();
     teItem.setActionCommand(menu2.getMenuId());
     teItem.setText(menu2.getMenuName());
     teItem.setToolTipText(menu2.getMenuMemo());
     //因为内层遍历一次出来一个子菜单,必须赶紧加在一级菜单下面
     teMenu.add(teItem);
     }
    } 
    teMenu.setActionCommand(menu1.getMenuId());
    teMenu.setText(menu1.getMenuName());
    teMenu.setToolTipText(menu1.getMenuMemo());
    
    this.menuBar.add(teMenu);
   }
 }

推荐阅读