//初始化菜单
public void initMenu() throws ParserConfigurationException, SAXException, IOException
{
//加载菜单文件
XmlUtil xml = new XmlUtil("menu.xml");
List<MenuBean> mainMenu = xml.getMenu();
//循环主菜单
for(int i = 0; i < mainMenu.size(); i++)
{
MenuBean menu = mainMenu.get(i);
//设置菜单
setMenu(menu, menuBar);
}
}
/**
* 设置菜单
* @param menu 父菜单
* @param paramMenu 父菜单控件
*/
private void setMenu(MenuBean menu, JComponent paramMenu)
{
//取菜单的子菜单数据
List<MenuBean> itemMenuList = menu.getItemMenu();
int size = itemMenuList.size();
//如果菜单为父菜单或者菜单含有子菜单,则用JMenu对像来add子菜单
if(menu.getName().startsWith("MM_") || size > 0)
{
//新建一个菜单
JMenu itemMenu = new JMenu();
//设置菜单文本
itemMenu.setText(menu.getText());
//加入父菜单
paramMenu.add(itemMenu);
//将父菜单设置为本菜单,以便子菜单可加入本菜单
paramMenu = itemMenu;
}
//如果菜单没有子节点,则用JMenuItem加入父菜单
else
{
//解释同上
JMenuItem itemMenu = new JMenuItem();
itemMenu.setText(menu.getText());
paramMenu.add(itemMenu);
paramMenu = itemMenu;
}
//迭代所有子菜单,如果有子菜单则加入该父菜单
for(int i = 0; i < size; i++)
{
setMenu(itemMenuList.get(i), paramMenu);
}
}
xml菜单_Main_1运用
最新推荐文章于 2021-09-03 19:39:20 发布