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

📄 toolbarproperties.java

📁 eq跨平台查询工具源码 eq跨平台查询工具源码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
            }                        for (int k = 0; k < buttons.length; k++) {                int id = buttons[k].getId();                                for (int m = 0; m < _buttons.length; m++) {                    if (_buttons[m].getId() == id) {                        hasButton = true;                        break;                    }                    hasButton = false;                                    }                                if (!hasButton) {                    rebuild = true;                    ToolBarButton newButton = (ToolBarButton)buttons[k].clone();                    newButton.setVisible(false);                    newButton.setOrder(1000);                    currentToolBar.addButton(newButton);                }                            }                    }                // regenerate the saved file if required        if (rebuild) {            tools = new Vector(toolsArray.length);                        for (int i = 0; i < toolsArray.length; i++) {                tools.add(toolsArray[i]);            }            saveTools();        }            }        private static synchronized void loadTools() {        String fullPath = null;        File file = new File(toolsConfPath);                if (file.exists()) {            InputStream in = null;            try {                SAXParserFactory factory = SAXParserFactory.newInstance();                factory.setNamespaceAware(true);                                SAXParser parser = factory.newSAXParser();                XMLToolHandler handler = new XMLToolHandler();                                in = new FileInputStream(file);                parser.parse(in, handler);                tools = handler.getToolsVector();                                SwingUtilities.invokeLater(new Runnable() {                    public void run() {                        compareTools();                    }                });                            }            catch (Exception e) {                e.printStackTrace();                GUIUtils.displayErrorMessage(                        null,                         "Error opening tools definitions.\nResorting to system defaults.");                loadDefaults(true);            }            finally {                if (in != null) {                    try {                        in.close();                    } catch (IOException e) {}                }            }                    }                else {            GUIUtils.displayErrorMessage(                    null,                     "Tool buttons definition XML file not found.\n" +                    "Ensure the file toolbars.xml is in the conf " +                    "directory of this distribution.");        }    }        static class XMLToolHandler extends DefaultHandler {                private ToolBarWrapper toolBar;        private ToolBarButton tb;        private ToolBarConstraints tbc;        private CharArrayWriter contents = new CharArrayWriter();        private Vector toolBars = new Vector();                public XMLToolHandler() {}                public void startElement(String nameSpaceURI, String localName,                                 String qName, Attributes attrs) {            contents.reset();                        if (localName.equals(TOOLBAR)) {                toolBar = new ToolBarWrapper(attrs.getValue(NAME),                   Boolean.valueOf(attrs.getValue(VISIBLE)).booleanValue());            }            else if (localName.equals(CONSTRAINTS)) {                tbc = new ToolBarConstraints();            }            else if (localName.equals(BUTTON)) {                tb = new ToolBarButton(Integer.parseInt(attrs.getValue(ID)),                attrs.getValue(ACTION_ID));            }        }                public void endElement(String nameSpaceURI, String localName, String qName) {                        if (localName.equals(ROW))                tbc.setRow(Integer.parseInt(contents.toString()));                        else if (localName.equals(POSITION))                tbc.setPosition(Integer.parseInt(contents.toString()));                        else if (localName.equals(LOC_X))                tbc.setLocX(Integer.parseInt(contents.toString()));                        else if (localName.equals(RESIZE_OFFSET_X))                tbc.setResizeOffsetX(Integer.parseInt(contents.toString()));                        else if (localName.equals(MINIMUM_WIDTH))                tbc.setMinimumWidth(Integer.parseInt(contents.toString()));                        else if (localName.equals(PREFERRED_WIDTH))                tbc.setPreferredWidth(Integer.parseInt(contents.toString()));                        else if (localName.equals(CURRENT_WIDTH))                tbc.setCurrentWidth(Integer.parseInt(contents.toString()));                        else if (localName.equals(VISIBLE))                tb.setVisible(Boolean.valueOf(contents.toString()).booleanValue());                        else if (localName.equals(ORDER)) {                tb.setOrder(Integer.parseInt(contents.toString()));                toolBar.addButton(tb);                tb = null;            }                        else if (localName.equals(TOOLBAR)) {                toolBar.setConstraints(tbc);                toolBars.add(toolBar);                tbc = null;            }                    }                public Vector getToolsVector() {            return toolBars;        }                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());        }    } // XMLHandler        static class ToolsParser implements XMLReader {        private String nsu = EMPTY;        private AttributesImpl atts = new AttributesImpl();                private String attType1 = "CDATA";        private ContentHandler handler;                private static char[] newLine = {'\n'};        private static String indent_1 = "\n   ";        private static String indent_2 = "\n      ";        private static String indent_3 = "\n        ";        private static String indent_4 = "\n          ";                public ToolsParser() {}                public void parse(InputSource input) throws SAXException, IOException {            if (!(input instanceof ToolbarButtonsSource))                throw new SAXException("Parser can only accept a ToolbarButtonsSource");                        parse((ToolbarButtonsSource)input);        }                public void parse(ToolbarButtonsSource input) throws IOException, SAXException {            try {                if (handler == null) {                    throw new SAXException("No content handler");                }                                ToolBarWrapper[] tb = input.getTools();                                handler.startDocument();                handler.startElement(nsu, EQ_TOOLBARS, EQ_TOOLBARS, atts);                handler.ignorableWhitespace(newLine, 0, 1);                                boolean isSeparator = false;                ToolBarConstraints tbc = null;                ToolBarButton button = null;                Vector buttons = null;                String marker = null;                                for (int i = 0; i < tb.length; i++) {                    handler.ignorableWhitespace(indent_1.toCharArray(), 0, indent_1.length());                                        atts.addAttribute(EMPTY, NAME, NAME, attType1, tb[i].getName());                    atts.addAttribute(EMPTY, VISIBLE, VISIBLE, attType1,                    Boolean.toString(tb[i].isVisible()));                                        handler.startElement(nsu, TOOLBAR, TOOLBAR, atts);                    atts.removeAttribute(atts.getIndex(NAME));                    atts.removeAttribute(atts.getIndex(VISIBLE));                                        handler.ignorableWhitespace(newLine, 0, 1);                                        handler.ignorableWhitespace(indent_2.toCharArray(), 0, indent_2.length());                    handler.startElement(nsu, CONSTRAINTS, CONSTRAINTS, atts);                    handler.ignorableWhitespace(newLine, 0, 1);                                        tbc = tb[i].getConstraints();                    writeXML(ROW, Integer.toString(tbc.getRow()), indent_3);                    writeXML(POSITION, Integer.toString(tbc.getPosition()), indent_3);                    writeXML(LOC_X, Integer.toString(tbc.getLocX()), indent_3);                    writeXML(RESIZE_OFFSET_X, Integer.toString(tbc.getResizeOffsetX()), indent_3);                    writeXML(MINIMUM_WIDTH, Integer.toString(tbc.getMinimumWidth()), indent_3);                    writeXML(PREFERRED_WIDTH, Integer.toString(tbc.getPreferredWidth()), indent_3);                    writeXML(CURRENT_WIDTH, Integer.toString(tbc.getCurrentWidth()), indent_3);                                        handler.ignorableWhitespace(newLine, 0, 1);                    handler.ignorableWhitespace(indent_2.toCharArray(), 0, indent_2.length());                    handler.endElement(nsu, CONSTRAINTS, CONSTRAINTS);                    handler.ignorableWhitespace(newLine, 0, 1);                    tbc = null;                                        if (tb[i].hasButtons()) {                        buttons = tb[i].getButtonsVector();                                                handler.ignorableWhitespace(indent_2.toCharArray(), 0, indent_2.length());                        handler.startElement(nsu, BUTTONS, BUTTONS, atts);                        handler.ignorableWhitespace(newLine, 0, 1);                                                for (int j = 0, k = buttons.size(); j < k; j++) {                            button = (ToolBarButton)buttons.elementAt(j);                            handler.ignorableWhitespace(indent_3.toCharArray(), 0,                            indent_3.length());                            atts.addAttribute(EMPTY, ID, ID, attType1,                            Integer.toString(button.getId()));                                                        isSeparator = button.isSeparator();                                                        if (!isSeparator)                                atts.addAttribute(EMPTY, ACTION_ID, ACTION_ID, attType1,                                button.getActionId());                                                        handler.startElement(nsu, BUTTON, BUTTON, atts);                            atts.removeAttribute(atts.getIndex(ID));                                                        if (!isSeparator)                                atts.removeAttribute(atts.getIndex(ACTION_ID));                                                        writeXML(VISIBLE, Boolean.toString(button.isVisible()), indent_4);                            writeXML(ORDER, Integer.toString(button.getOrder()), indent_4);                                                        handler.ignorableWhitespace(indent_3.toCharArray(), 0, indent_3.length());                            handler.endElement(nsu, BUTTON, BUTTON);                            handler.ignorableWhitespace(newLine, 0, 1);                        }                                                handler.ignorableWhitespace(indent_2.toCharArray(), 0, indent_2.length());                        handler.endElement(nsu, BUTTONS, BUTTONS);                        handler.ignorableWhitespace(newLine, 0, 1);                                            }                                        handler.ignorableWhitespace(indent_1.toCharArray(), 0, indent_1.length());                    handler.endElement(nsu, TOOLBAR, TOOLBAR);                    handler.ignorableWhitespace(newLine, 0, 1);                                    }                                handler.ignorableWhitespace(newLine, 0, 1);                handler.endElement(nsu, EQ_TOOLBARS, EQ_TOOLBARS);                handler.endDocument();                            }            catch (Exception e) {                e.printStackTrace();            }                    }                private void writeXML(String name, String line, String space)        throws SAXException {            int textLength = line.length();                        handler.ignorableWhitespace(space.toCharArray(), 0, space.length());                        handler.startElement(nsu, name, name, atts);                        handler.characters(line.toCharArray(), 0, textLength);                        handler.endElement(nsu, name, name);        }                public void setContentHandler(ContentHandler handler) {            this.handler = handler;        }                public ContentHandler getContentHandler() {            return this.handler;        }                public void setErrorHandler(ErrorHandler handler) {}                public ErrorHandler getErrorHandler() {            return null;        }                public void parse(String systemId) throws IOException, SAXException {        }                public DTDHandler getDTDHandler() {            return null;        }                public EntityResolver getEntityResolver() {            return null;        }                public void setEntityResolver(EntityResolver resolver) {}                public void setDTDHandler(DTDHandler handler) {}                public Object getProperty(String name) {            return null;        }                public void setProperty(String name, java.lang.Object value) {}                public void setFeature(String name, boolean value) {}                public boolean getFeature(String name) {            return false;        }    } // class DriverParser        static class ToolbarButtonsSource extends InputSource {                public ToolBarWrapper[] getTools() {            int size = tools.size();            ToolBarWrapper[] toolBars = new ToolBarWrapper[size];            for (int i = 0; i < size; i++) {                toolBars[i] = (ToolBarWrapper)tools.elementAt(i);            }                        return toolBars;        }            } // class ToolbarButtonsSource        }

⌨️ 快捷键说明

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