自己做出来的添加数据库配置好的动态菜单的方法
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);
}
}