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

📄 omdrawingtoollauncher.java

📁 openmap java写的开源数字地图程序. 用applet实现,可以像google map 那样放大缩小地图.
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
        while (objs.hasMoreElements()) {            DrawingToolRequestor dtr = (DrawingToolRequestor) objs.nextElement();            if (name.equals(dtr.getName())) {                currentRequestor = dtr;                return;            }        }        currentRequestor = null;    }    /**     * Set the next thing to be created to be whatever the pretty name     * represents. Sets currentCreation.     *      * @param name GUI pretty name of thing to be created, from one of     *        the EditToolLoaders.     */    public void setCurrentCreation(String name) {        currentCreation = getEditableClassName(name);    }    /**     * Given a pretty name, look through the EditToolLoaders and find     * out the classname that goes with editing it.     *      * @param prettyName GUI pretty name of tool, or thing to be     *        created, from one of the EditToolLoaders.     */    public String getEditableClassName(String prettyName) {        for (Iterator it = getLoaders(); it.hasNext();) {            LoaderHolder lh = (LoaderHolder) it.next();            EditToolLoader etl = lh.loader;            String[] ec = etl.getEditableClasses();            for (int i = 0; i < ec.length; i++) {                if (prettyName.equals(etl.getPrettyName(ec[i]))) {                    return ec[i];                }            }        }        return null;    }    /**     * This is the method that your object can use to find other     * objects within the MapHandler (BeanContext). This method gets     * called when the object gets added to the MapHandler, or when     * another object gets added to the MapHandler after the object is     * a member.     *      * @param someObj the object that was added to the BeanContext     *        (MapHandler) that is being searched for. Find the ones     *        you need, and hook yourself up.     */    public void findAndInit(Object someObj) {        if (someObj instanceof OMDrawingTool) {            Debug.message("omdtl", "OMDrawingToolLauncher found a DrawingTool.");            setDrawingTool((DrawingTool) someObj);        }        if (someObj instanceof DrawingToolRequestor) {            if (Debug.debugging("omdtl")) {                Debug.output("OMDrawingToolLauncher found a DrawingToolRequestor - "                        + ((DrawingToolRequestor) someObj).getName());            }            drawingToolRequestors.add(someObj);            // resetGUI();            resetCombo();        }    }    /**     * BeanContextMembershipListener method. Called when a new object     * is removed from the BeanContext of this object. For the Layer,     * this method doesn't do anything. If your layer does something     * with the childrenAdded method, or findAndInit, you should take     * steps in this method to unhook the layer from the object used     * in those methods.     */    public void findAndUndo(Object someObj) {        if (someObj instanceof OMDrawingTool) {            Debug.message("omdtl", "OMDrawingToolLauncher found a DrawingTool.");            OMDrawingTool dt = (OMDrawingTool) someObj;            if (dt == getDrawingTool()) {                setDrawingTool(null);                dt.removePropertyChangeListener(this);            }        }        if (someObj instanceof DrawingToolRequestor) {            if (Debug.debugging("omdtl")) {                Debug.output("OMDrawingToolLauncher removing a DrawingToolRequestor - "                        + ((DrawingToolRequestor) someObj).getName());            }            drawingToolRequestors.remove(someObj);            if (drawingToolRequestors.size() == 0) {// there is no                                                    // Requestor, so                                                    // lets remove the                                                    // window.                getWindowSupport().killWindow();                return;            }            // resetGUI();            resetCombo();            setRequestor(null);        }    }    /**     * Tool interface method. The retrieval tool's interface. This     * method creates a button that will bring up the LauncherPanel.     *      * @return String The key for this tool.     */    public Container getFace() {        JToolBar jtb = null;        if (getUseAsTool()) {            jtb = new com.bbn.openmap.gui.GridBagToolBar();            // "Drawing Tool Launcher";            JButton drawingToolButton = new JButton(new ImageIcon(OMDrawingToolLauncher.class.getResource("Drawing.gif"), i18n.get(OMDrawingToolLauncher.class,                    "drawingToolButton",                    I18n.TOOLTIP,                    "Drawing Tool Launcher")));            drawingToolButton.setToolTipText(i18n.get(OMDrawingToolLauncher.class,                    "drawingToolButton",                    I18n.TOOLTIP,                    "Drawing Tool Launcher"));            drawingToolButton.addActionListener(getActionListener());            jtb.add(drawingToolButton);        }        return jtb;    }    /**     * Get the ActionListener that triggers the LauncherPanel. Useful     * to have to provide an alternative way to bring up the     * LauncherPanel.     *      * @return ActionListener     */    public ActionListener getActionListener() {        return new ActionListener() {            public void actionPerformed(ActionEvent evt) {                // -1 will get size from pack();                int w = -1;                int h = -1;                int x = 10;                int y = 10;                Point loc = getWindowSupport().getComponentLocation();                if (loc != null) {                    x = (int) loc.getX();                    y = (int) loc.getY();                }                MapHandler mh = (MapHandler) getBeanContext();                Frame frame = null;                if (mh != null) {                    frame = (Frame) mh.get(java.awt.Frame.class);                }                getWindowSupport().displayInWindow(frame, x, y, w, h);            }        };    }    /**     * Get the attributes that initalize the graphic.     */    public GraphicAttributes getDefaultGraphicAttributes() {        return defaultGraphicAttributes;    }    /**     * Set the attributes that initalize the graphic.     */    public void setDefaultGraphicAttributes(GraphicAttributes ga) {        defaultGraphicAttributes = ga;    }    /**     * Set the loaders with an Iterator containing EditToolLoaders.     */    public void setLoaders(Iterator iterator) {        loaders.clear();        while (iterator.hasNext()) {            addLoader((EditToolLoader) iterator.next());        }    }    /**     * Returns an iterator of LoaderHolders.     */    public Iterator getLoaders() {        return loaders.iterator();    }    public void addLoader(EditToolLoader etl) {        if (etl != null) {            String[] classNames = etl.getEditableClasses();            for (int i = 0; i < classNames.length; i++) {                loaders.add(new LoaderHolder(etl.getPrettyName(classNames[i]), etl));            }        }    }    public void removeLoader(EditToolLoader etl) {        if (etl != null) {            for (Iterator it = getLoaders(); it.hasNext();) {                LoaderHolder lh = (LoaderHolder) it.next();                if (lh.loader == etl) {                    loaders.remove(lh);                }            }        }    }    /**     * PropertyChangeListener method, to listen for the     * OMDrawingTool's list of loaders that may or may not change.     */    public void propertyChange(PropertyChangeEvent pce) {        if (pce.getPropertyName() == OMDrawingTool.LoadersProperty) {            setLoaders(((Vector) pce.getNewValue()).iterator());            resetGUI();        }    }    public void setProperties(String prefix, Properties props) {        super.setProperties(prefix, props);        prefix = PropUtils.getScopedPropertyPrefix(prefix);        maxHorNumLoaderButtons = PropUtils.intFromProperties(props,                prefix + HorizontalNumberOfLoaderButtonsProperty,                maxHorNumLoaderButtons);        useTextEditToolTitles = PropUtils.booleanFromProperties(props, prefix                + UseLoaderTextProperty, useTextEditToolTitles);    }    public Properties getProperties(Properties props) {        props = super.getProperties(props);        String prefix = PropUtils.getScopedPropertyPrefix(this);        props.put(prefix + HorizontalNumberOfLoaderButtonsProperty,                Integer.toString(maxHorNumLoaderButtons));        props.put(prefix + UseLoaderTextProperty,                new Boolean(useTextEditToolTitles).toString());        return props;    }    public Properties getPropertyInfo(Properties props) {        props = super.getPropertyInfo(props);        String internString = i18n.get(OMDrawingToolLauncher.class,                HorizontalNumberOfLoaderButtonsProperty,                I18n.TOOLTIP,                "Number of loader buttons to place horizontally");        props.put(HorizontalNumberOfLoaderButtonsProperty, internString);        internString = i18n.get(OMDrawingToolLauncher.class,                HorizontalNumberOfLoaderButtonsProperty,                "# Horizontal Buttons");        props.put(HorizontalNumberOfLoaderButtonsProperty + LabelEditorProperty,                internString);        internString = i18n.get(OMDrawingToolLauncher.class,                UseLoaderTextProperty,                I18n.TOOLTIP,                "Use text popup for loader selection.");        props.put(UseLoaderTextProperty, internString);        internString = i18n.get(OMDrawingToolLauncher.class,                UseLoaderTextProperty,                "Use Text For Selection");        props.put(UseLoaderTextProperty + LabelEditorProperty, internString);        return props;    }    public static class LoaderHolder {        public String prettyName;        public EditToolLoader loader;        public LoaderHolder(String pn, EditToolLoader etl) {            prettyName = pn;            loader = etl;        }    }}

⌨️ 快捷键说明

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