📄 mainmenumanager.java
字号:
package com.cownew.PIS.framework.client.menu;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.swing.JMenuItem;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.io.SAXReader;
import org.dom4j.tree.DefaultElement;
import com.cownew.ctk.common.ExceptionUtils;
import com.cownew.ctk.constant.StringConst;
import com.cownew.ctk.io.ResourceUtils;
public class MainMenuManager
{
private Map menuItemMap = new HashMap(50);
private static MainMenuManager instance;
private MainMenuManager()
{
super();
}
public static MainMenuManager getManager()
{
if (instance == null)
{
instance = new MainMenuManager();
}
return instance;
}
/**
* 获取配置文件定义的所有菜单项
* @return
*/
public MainMenuItemInfo[] getAllMenuItem()
{
InputStream beansXFStream = null;
try
{
beansXFStream = getClass().getResourceAsStream(
"/com/cownew/PIS/framework/client/menu/MainMenu.xml");
Document doc = new SAXReader().read(new InputStreamReader(
beansXFStream, StringConst.UTF8));
List itemList = doc.selectNodes("//Config/Item");
MainMenuItemInfo[] menuItemInfos = new MainMenuItemInfo[itemList.size()];
for (int i = 0, n = itemList.size(); i < n; i++)
{
DefaultElement beanElement = (DefaultElement) itemList.get(i);
String path = beanElement.attributeValue("path");
MainMenuItemInfo itemInfo = new MainMenuItemInfo(path);
itemInfo.setText(beanElement.getText());
itemInfo.setUiClass(beanElement.attributeValue("uiClass"));
menuItemInfos[i] = itemInfo;
}
return menuItemInfos;
} catch (UnsupportedEncodingException e)
{
throw ExceptionUtils.toRuntimeException(e);
} catch (DocumentException e)
{
throw ExceptionUtils.toRuntimeException(e);
} finally
{
ResourceUtils.close(beansXFStream);
}
}
/**
* 注册菜单项
* @param path 菜单项的path
* @param menuItem 菜单项对应的JMenuItem实例
*/
public void registerMenuItem(String path,JMenuItem menuItem)
{
menuItemMap.put(path, menuItem);
}
/**
* 取得path对应的菜单项JMenuItem实例
* @param path 要查找的菜单项的path
* @return
*/
public JMenuItem queryMenuItem(String path)
{
return (JMenuItem) menuItemMap.get(path);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -