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

📄 mousemodemenu.java

📁 openmap java写的开源数字地图程序. 用applet实现,可以像google map 那样放大缩小地图.
💻 JAVA
字号:
// **********************************************************************// // <copyright>// //  BBN Technologies//  10 Moulton Street//  Cambridge, MA 02138//  (617) 873-8000// //  Copyright (C) BBNT Solutions LLC. All rights reserved.// // </copyright>// **********************************************************************// // $Source: /cvs/distapps/openmap/src/openmap/com/bbn/openmap/gui/menu/MouseModeMenu.java,v $// $RCSfile: MouseModeMenu.java,v $// $Revision: 1.5.2.1 $// $Date: 2004/10/14 18:26:56 $// $Author: dietrick $// // **********************************************************************package com.bbn.openmap.gui.menu;import java.awt.event.*;import java.beans.*;import java.beans.beancontext.*;import javax.swing.*;import com.bbn.openmap.*;import com.bbn.openmap.event.*;import com.bbn.openmap.gui.AbstractOpenMapMenu;import com.bbn.openmap.util.Debug;/** * It provides GUI based on Mouse modes available from MouseDelegator * object */public class MouseModeMenu extends AbstractOpenMapMenu implements        PropertyChangeListener, ActionListener {    public static final String defaultText = "Mouse Mode";    public final static transient String mouseModeCmd = "setMouseMode";    protected transient MouseDelegator mouseDelegator = null;    // mouse mode widgets    protected transient JRadioButtonMenuItem[] mouseModeButtons = new JRadioButtonMenuItem[0];    protected transient ButtonGroup group2 = null;    protected I18n i18n = Environment.getI18n();    protected BeanContextChildSupport beanContextChildSupport = new BeanContextChildSupport(this);    public MouseModeMenu() {        super();        setText(i18n.get(this, "mouseModeMenu", defaultText));        addActionListener(this);    }    /**     * Sets up the MouseModes submenu.     *      * @param md MouseDelegator     */    public void setMouseDelegator(MouseDelegator md) {        mouseDelegator = md;        if (mouseDelegator != null) {            mouseDelegator.addPropertyChangeListener(this);            MapMouseMode[] modes = mouseDelegator.getMouseModes();            String activeMode = mouseDelegator.getActiveMouseModeID();            Debug.message("mousemodemenuitem",                    "MouseModeMenuItem.setMouseDelegator MouseDelegator has "                            + modes.length + " modes");            setUpItems(modes, activeMode);        }    }    public void unsetMouseDelegator(MouseDelegator md) {        if (md != null) {            mouseDelegator.removePropertyChangeListener(this);            if (mouseModeButtons != null) {                for (int mms = 0; mms < mouseModeButtons.length; mms++) {                    mouseModeButtons[mms].removeActionListener(this);                    group2.remove(mouseModeButtons[mms]);                }            }        }        group2 = null;        mouseModeButtons = null;        mouseDelegator = null;    }    protected void setUpItems(MapMouseMode[] modes, String activeMode) {        if (group2 == null) {            group2 = new ButtonGroup();        }        mouseModeButtons = new JRadioButtonMenuItem[modes.length];        for (int mms = 0; mms < modes.length; mms++) {            Debug.message("mousemodemenuitem",                    "MouseModeMenuItem.setUpItems adding " + modes[mms].getID());            mouseModeButtons[mms] = (JRadioButtonMenuItem) this.add(new JRadioButtonMenuItem(modes[mms].getPrettyName()));            mouseModeButtons[mms].setActionCommand(mouseModeCmd);            mouseModeButtons[mms].setName(modes[mms].getID());            mouseModeButtons[mms].addActionListener(this);            mouseModeButtons[mms].setVisible(modes[mms].isVisible());            group2.add(mouseModeButtons[mms]);            if ((activeMode != null) && activeMode.equals(modes[mms].getID())) {                mouseModeButtons[mms].setSelected(true);            }        }    }    /**     * ActionListener interface.     *      * @param e ActionEvent     */    public void actionPerformed(java.awt.event.ActionEvent e) {        String command = e.getActionCommand();        if (command.equals(mouseModeCmd)) {            JRadioButtonMenuItem rb = (JRadioButtonMenuItem) (e.getSource());            mouseDelegator.setActiveMouseModeWithID(rb.getName());        }    }    /**     * This method gets called when a bound property is changed.     * <p>     *      * @param evt A PropertyChangeEvent object describing the event     *        source and the property that has changed.     */    public void propertyChange(PropertyChangeEvent evt) {        Debug.message("mousemodemenuitem", "MouseModeMenuItem.propertyChange()");        if (evt.getPropertyName() == MouseDelegator.ActiveModeProperty) {            // Mark the radio button representing the new mode as            // active            String mmID = ((MapMouseMode) evt.getNewValue()).getID();            for (int i = 0; i < mouseModeButtons.length; i++) {                //System.out.println(mmID + " "                // +mouseModeButtons[i].getName());                if (mouseModeButtons[i].getName().equals(mmID)) {                    mouseModeButtons[i].setSelected(true);                    //System.out.println("MouseModeMenu: New Active                    // Mode " + mmID);                    break;                }            }        }        else if (evt.getPropertyName() == MouseDelegator.MouseModesProperty) {            // Redo the whole submenu            for (int i = 0; i < mouseModeButtons.length; i++) {                remove(mouseModeButtons[i]);            }            MapMouseMode[] modes = mouseDelegator.getMouseModes();            String activeMode = mouseDelegator.getActiveMouseModeID();            setUpItems(modes, activeMode);        }    }    /**     * Called when a component that is needed, and not available with     * an appropriate iterator from the BeanContext. This lets this     * object hook up with what it needs.     */    public void findAndInit(Object someObj) {        if (someObj instanceof MouseDelegator) {            // do the initializing that need to be done here            Debug.message("mousemodemenuitem",                    "MouseModeMenuItem found a MouseDelegator.");            setMouseDelegator((MouseDelegator) someObj);        }    }    /**     * AbstractOpenMapMenu method. Called when an objects have been     * removed from the parent BeanContext.     */    public void findAndUnInit(Object someObj) {        if (someObj instanceof MouseDelegator) {            // do the initializing that need to be done here            Debug.message("mousemodemenuitem",                    "MouseModeMenuItem removing MouseDelegator.");            setMouseDelegator(null);        }    }    /** Method for BeanContextChild interface. */    public void addPropertyChangeListener(String propertyName,                                          PropertyChangeListener in_pcl) {        beanContextChildSupport.addPropertyChangeListener(propertyName, in_pcl);    }    /** Method for BeanContextChild interface. */    public void removePropertyChangeListener(String propertyName,                                             PropertyChangeListener in_pcl) {        beanContextChildSupport.removePropertyChangeListener(propertyName,                in_pcl);    }}

⌨️ 快捷键说明

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