⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainmenu.java

📁 eq跨平台查询工具源码 eq跨平台查询工具源码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        item = (JCheckBoxMenuItem)menuItemCache.get("viewSearchTools");        item.setSelected(viewSearch);        item = (JCheckBoxMenuItem)menuItemCache.get("viewDatabaseTools");        item.setSelected(viewDatabase);        item = (JCheckBoxMenuItem)menuItemCache.get("viewBrowserTools");        item.setSelected(viewBrowser);        item = (JCheckBoxMenuItem)menuItemCache.get("viewImportExportTools");        item.setSelected(viewImportExport);        item = (JCheckBoxMenuItem)menuItemCache.get("viewSystemTools");        item.setSelected(viewSystem);    }        public void setViewOption(String key, boolean show) {        if (menuItemCache.containsKey(key)) {            JCheckBoxMenuItem item = (JCheckBoxMenuItem)menuItemCache.get(key);            item.setSelected(show);        }    }        /** view check box menu items cache names and property keys */    private Map<String,String> viewMenuItems;        private void setCheckBoxMenuItemSelections(Map<String,String> cache) {        for (Iterator i = cache.keySet().iterator(); i.hasNext();) {            String key = i.next().toString();            boolean checked = SystemProperties.getBooleanProperty("user", cache.get(key));            JCheckBoxMenuItem item = (JCheckBoxMenuItem)menuItemCache.get(key);            item.setSelected(checked);        }    }        public void setViewOptions() {        setCheckBoxMenuItemSelections(viewMenuItems);    }        private static final String MENUS = "menus";    private static final String MENU = "menu";    private static final String MENU_ITEM = "menu-item";    private static final String NAME = "name";    private static final String TYPE = "type";    private static final String ID = "id";    private static final String BUTTON_GROUP = "button-group";    private static final String MNEMONIC = "mnemonic";    private static final String SEPARATOR = "separator";    private static final String LISTENER = "listener";    private static final String CACHE_NAME = "cache-name";    private static final String TOOL_TIP = "tool-tip";    private static final String ACTION_COMMAND = "action-command";    private static final String ACCEL_KEY = "accel-key";    private static final String VIEW_MENU_PROPERTY_KEY = "property-key";    private static final String NULL_VALUE = "{-NULL-}";    class MenuHandler extends DefaultHandler {                private List<JMenu> menus;        private Map<String,ActionListener> listeners;        private Map<String,ButtonGroup> buttonGroups;        private int menuCount;                private CharArrayWriter contents;                public MenuHandler() {            menuCount = -1;            listeners = new HashMap<String,ActionListener>();            buttonGroups = new HashMap<String,ButtonGroup>();            menus = new ArrayList<JMenu>();            contents = new CharArrayWriter();        }               public void startElement(String nameSpaceURI,                                  String localName,                                 String qName,                                  Attributes attrs) {            String value = null;            contents.reset();            if (localName.equals(MENU)) {                String menuName = attrs.getValue(NAME);                JMenu menu = null;                value = attrs.getValue(MNEMONIC);                if (!MiscUtils.isNull(value)) {                    menu = builder.createMenu(menuName, value.charAt(0));                } else {                    menu = builder.createMenu(menuName, -1);                }                menus.add(menu);                menuCount++;                value = attrs.getValue(CACHE_NAME);                if (!MiscUtils.isNull(value)) {                    if (menuCache == null) {                        menuCache = new HashMap<String,JMenu>();                    }                    menuCache.put(value, menu);                }            }            else if (localName.equals(MENU_ITEM)) {                int menuType = 0;                value = attrs.getValue(TYPE);                if (!MiscUtils.isNull(value)) {                    menuType = Integer.parseInt(value);                }                                JMenuItem menuItem = null;                switch(menuType) {                    case MenuBuilder.ITEM_RADIO:                        menuItem = new JRadioButtonMenuItem();                        break;                    case MenuBuilder.ITEM_CHECK:                        menuItem = new JCheckBoxMenuItem();                        break;                    default:                        menuItem = new JMenuItem();                        break;                }                 value = attrs.getValue(ID);                if (!MiscUtils.isNull(value)) {                                        if (value.equals(SEPARATOR)) {                        getMenu(menuCount).addSeparator();                        return;                    } else {                        menuItem.setAction(ActionBuilder.get(value));                    }                }                value = attrs.getValue(MNEMONIC);                if (!MiscUtils.isNull(value)) {                    menuItem.setMnemonic(value.charAt(0));                }                value = attrs.getValue(NAME);                if (!MiscUtils.isNull(value)) {                    menuItem.setText(value);                }                                value = attrs.getValue(TOOL_TIP);                if (!MiscUtils.isNull(value)) {                    menuItem.setToolTipText(value);                }                                value = attrs.getValue(ACTION_COMMAND);                if (!MiscUtils.isNull(value)) {                    menuItem.setActionCommand(value);                }                value = attrs.getValue(LISTENER);                if (!MiscUtils.isNull(value)) {                                        if (listeners.containsKey(value)) {                        menuItem.addActionListener(listeners.get(value));                    } else {                        try {                            Class _class = Class.forName(value,                                                          true,                                                         ClassLoader.getSystemClassLoader());                            Object object = _class.newInstance();                            ActionListener listener = (ActionListener)object;                            menuItem.addActionListener(listener);                            listeners.put(value, listener);                        }                         catch (ClassNotFoundException e) {                            e.printStackTrace();                            throw new InternalError();                        }                                 catch (Exception e) {                            e.printStackTrace();                        }                     }                }                                value = attrs.getValue(ACCEL_KEY);                if (!MiscUtils.isNull(value)) {                                        if (value.equals(NULL_VALUE)) {                        menuItem.setAccelerator(null);                    } else {                                            menuItem.setAccelerator(KeyStroke.getKeyStroke(value));                    }                }                value = attrs.getValue(BUTTON_GROUP);                if (!MiscUtils.isNull(value)) {                    if (buttonGroups.containsKey(value)) {                        ButtonGroup bg = buttonGroups.get(value);                        bg.add(menuItem);                    } else {                        ButtonGroup bg = new ButtonGroup();                        buttonGroups.put(value, bg);                        bg.add(menuItem);                    }                }                value = attrs.getValue(CACHE_NAME);                if (!MiscUtils.isNull(value)) {                    if (menuItemCache == null) {                        menuItemCache = new HashMap<String,JMenuItem>();                    }                    menuItemCache.put(value, menuItem);                                        if (value.startsWith("view")) {                        if (viewMenuItems == null) {                            viewMenuItems = new HashMap<String,String>();                        }                        String propertyKey = attrs.getValue(VIEW_MENU_PROPERTY_KEY);                        if (!MiscUtils.isNull(propertyKey)) {                            viewMenuItems.put(value, propertyKey);                        }                    }                                    }                menuItem.setIcon(null);                getMenu(menuCount).add(menuItem);                            }                    }                public void endElement(String nameSpaceURI, String localName,                               String qName) {                        if (localName.equals(MENU)) {                if (menuCount > 0) {                    getMenu(menuCount-1).add(getMenu(menuCount));                } else {                    MainMenu.this.add(getMenu(menuCount));                }                menus.remove(menuCount);                menuCount--;            }            else if (localName.equals(MENUS)) {                menus.clear();                menus = null;                listeners.clear();                listeners = null;                buttonGroups.clear();                buttonGroups = null;            }                    }                private JMenu getMenu(int index) {            if (index >= 0) {                return menus.get(index);            } else {                return null;            }        }                public void characters(char[] data, int start, int length) {            contents.write(data, start, length);        }                public void ignorableWhitespace(char[] data, int start, int length) {            characters(data, start, length);        }        public void error(SAXParseException spe) throws SAXException {            throw new SAXException(spe.getMessage());        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -