自己做出來的添加數據庫配置好的動態菜單的方法
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);
}
}