亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mapbean.java

?? openmap java寫的開源數(shù)字地圖程序. 用applet實現(xiàn),可以像google map 那樣放大縮小地圖.
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
// **********************************************************************// // <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/MapBean.java,v $// $RCSfile: MapBean.java,v $// $Revision: 1.11.2.12 $// $Date: 2006/02/02 03:17:49 $// $Author: bmackiew $// // **********************************************************************package com.bbn.openmap;import java.awt.Color;import java.awt.Component;import java.awt.Cursor;import java.awt.Dimension;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.Insets;import java.awt.LayoutManager;import java.awt.Paint;import java.awt.Rectangle;import java.awt.event.ComponentEvent;import java.awt.event.ComponentListener;import java.awt.event.ContainerEvent;import java.awt.event.ContainerListener;import java.awt.event.MouseEvent;import java.beans.PropertyChangeEvent;import java.beans.PropertyChangeListener;import java.util.Vector;import javax.swing.JComponent;import javax.swing.OverlayLayout;import com.bbn.openmap.event.CenterEvent;import com.bbn.openmap.event.CenterListener;import com.bbn.openmap.event.LayerEvent;import com.bbn.openmap.event.LayerListener;import com.bbn.openmap.event.PaintListener;import com.bbn.openmap.event.PaintListenerSupport;import com.bbn.openmap.event.PanEvent;import com.bbn.openmap.event.PanListener;import com.bbn.openmap.event.ProjectionEvent;import com.bbn.openmap.event.ProjectionListener;import com.bbn.openmap.event.ProjectionSupport;import com.bbn.openmap.event.ZoomEvent;import com.bbn.openmap.event.ZoomListener;import com.bbn.openmap.proj.Mercator;import com.bbn.openmap.proj.Proj;import com.bbn.openmap.proj.Projection;import com.bbn.openmap.proj.ProjectionFactory;import com.bbn.openmap.util.Debug;import com.bbn.openmap.LatLonPoint;/** * The MapBean is the main component of the OpenMap Development Kit. * It is a Java Bean that manages and displays a map. A map is * comprised of a projection and a list of layers, and this class has * methods that allow you to control the projection parameters and to * add and remove layers. Layers that are part of the map receive * dynamic notifications of changes to the underlying view and * projection. * <p> * Most of the methods in the MapBean are called from the Java AWT and * Swing code. These methods make the MapBean a good "Swing citizen" * to its parent components, and you should not need to invoke them. * In general there are only two reasons to call MapBean methods: * controlling the projection, and adding or removing layers. * <p> * When controlling the MapBean projection, simply call the method * that applies - setCenter, pan, zoom, etc. NOTE: If you are setting * more than one parameter of the projection, it's more efficient to * getProjection(), directly set the parameters of the projection * object, and then call setProjection() with the modified projection. * That way, each ProjectionListener of the MapBean (each layer) will * only receive one projectionChanged() method call, as opposed to * receiving one for each projection adjustment. * <p> * To add or remove layers, use the add() and remove() methods that * the MapBean inherits from java.awt.Container. The add() method can * be called with an integer that indicates its desired position in * the layer list. * <P> * Changing the default clipping area may cause some Layers to not be * drawn completely, depending on what the clipping area is set to and * when the layer is trying to get itself painted. When manually * adjusting clipping area, make sure that when restricted clipping is * over that a full repaint occurs if there is a chance that another * layer may be trying to paint itself. *  * @see Layer */public class MapBean extends JComponent implements ComponentListener,        ContainerListener, ProjectionListener, PanListener, ZoomListener,        LayerListener, CenterListener, SoloMapComponent {    public static final String LayersProperty = "MapBean.layers";    public static final String CursorProperty = "MapBean.cursor";    public static final String BackgroundProperty = "MapBean.background";    public static final String ProjectionProperty = "MapBean.projection";    /**     * OpenMap title.     */    public static final String title = "OpenMap(tm)";    /**     * OpenMap version.     */    public static final String version = "4.6.3";    /**     * Suppress the copyright message on initialization. But remember,     * the OpenMap License says you can't do this!     */    public static boolean suppressCopyright = false;    private static final boolean DEBUG_TIMESTAMP = false;    private static final boolean DEBUG_THREAD = true;    private static final String copyrightNotice = "OpenMap(tm) Version "            + version + "\r\n"            + "  Copyright (C) BBNT Solutions LLC.  All rights reserved.\r\n"            + "  See http://openmap.bbn.com/ for details.\r\n";    public final static float DEFAULT_CENTER_LAT = 0.0f;    public final static float DEFAULT_CENTER_LON = 0.0f;    //zoomed all the way out    public final static float DEFAULT_SCALE = Float.MAX_VALUE;    public final static int DEFAULT_WIDTH = 640;    public final static int DEFAULT_HEIGHT = 480;    protected int minHeight = 100;    protected int minWidth = 100;    protected Proj projection = new Mercator(new LatLonPoint(DEFAULT_CENTER_LAT, DEFAULT_CENTER_LON), DEFAULT_SCALE, DEFAULT_WIDTH, DEFAULT_HEIGHT);    protected ProjectionSupport projectionSupport;    /**     * Layers that are removed from the MapBean are held until the     * next projection change. When the projection changes, they are     * notified that they have been removed from the map. This list is     * kept so that toggling a layer on and off won't cause them to     * get rid of their resources, in case the user is just creating     * different views of the map.     */    protected Vector removedLayers = new Vector(0);    /**     * Some users may want the layers deleted immediately when they     * are removed from the map. This flag controls that. The default     * behavior is to hold a reference to a layer and actually release     * it when the projection changes (default = true). Set to false     * if you want the MapBean to tell a Layer it has been removed     * immediately when it happens.     */    protected boolean layerRemovalDelayed = true;    /**     * This vector is to let the layers know when they have been added     * to the map.     */    protected Vector addedLayers = new Vector(0);    /**     * The PaintListeners want to know when the map has been     * repainted.     */    protected PaintListenerSupport painters = null;    /**     * The background color for this particular MapBean. If null, the     * setting for the projection, which in turn is set in the     * Environment class, will be used.     */    protected Paint background = null;    /**     * The MapBeanRepaintPolicy to use to handler/filter/pace layer     * repaint() requests. If not set, a StandardMapBeanRepaintPolicy     * will be used, which forwards repaint requests to Swing     * normally.     */    protected MapBeanRepaintPolicy repaintPolicy = null;    public final static Color DEFAULT_BACKGROUND_COLOR = new Color(191, 239, 255);    /**     * Return the OpenMap Copyright message.     *      * @return String Copyright     */    public static String getCopyrightMessage() {        return copyrightNotice;    }    /**     * Construct a MapBean.     */    public MapBean() {        if (Debug.debugging("mapbean")) {            debugmsg("MapBean()");        }        if (!suppressCopyright) {            Debug.output(copyrightNotice);        }        background = DEFAULT_BACKGROUND_COLOR;        // Don't need one for every MapBean, just the first one.        suppressCopyright = true;        super.setLayout(new OverlayLayout(this));        projectionSupport = new ProjectionSupport(this);        addComponentListener(this);        addContainerListener(this);        //----------------------------------------        // In a builder tool it seems that the OverlayLayout        // makes the MapBean fail to resize. And since it has        // no children by default, it has no size. So I add        // a null Layer here to give it a default size.        //----------------------------------------        if (java.beans.Beans.isDesignTime()) {            add(new Layer() {                public void projectionChanged(ProjectionEvent e) {}                public Dimension getPreferredSize() {                    return new Dimension(100, 100);                }            });        }        setPreferredSize(new Dimension(projection.getWidth(), projection.getHeight()));    }    /**     * Return a stringified representation of the MapBean.     *      * @return String     */    public String toString() {        return getClass().getName() + "@" + Integer.toHexString(hashCode());    }    /*----------------------------------------------------------------------     * Window System overrides     *----------------------------------------------------------------------*/    /**     * Adds additional constraints on possible children components.     * The new component must be a Layer. This method included as a     * good container citizen, and should not be called directly. Use     * the add() methods inherited from java.awt.Container instead.     *      * @param comp Component     * @param constraints Object     * @param index int location     */    protected final void addImpl(Component comp, Object constraints, int index) {        if (comp instanceof Layer) {            super.addImpl(comp, constraints, index);        } else {            throw new IllegalArgumentException("only Layers can be added to a MapBean");        }    }    /**     * Prevents changing the LayoutManager. Don't let anyone change     * the LayoutManager! This is called by the parent component and     * should not be called directly.     */    public final void setLayout(LayoutManager mgr) {        throw new IllegalArgumentException("cannot change layout of Map");    }    /**     * Return the minimum size of the MapBean window. Included here to     * be a good citizen.     */    public Dimension getMinimumSize() {        return new Dimension(minWidth, minHeight);    }    /**     * Set the minimum size of the MapBean window. Included here to be     * a good citizen.     */    public void setMinimumSize(Dimension dim) {        minWidth = (int) dim.getWidth();        minHeight = (int) dim.getHeight();    }    /**     * Get the Insets of the MapBean. This returns 0-length Insets.     * <p>     * This makes sure that there will be no +x,+y offset when drawing     * graphics. This is ok since any borders around the MapBean will     * get drawn afterwards on top.     *      * @return Insets 0-length Insets     */    public final Insets getInsets() {        return insets;    }    private final transient static Insets insets = new Insets(0, 0, 0, 0);    /*----------------------------------------------------------------------     * ComponentListener implementation     *----------------------------------------------------------------------*/    /**     * ComponentListener interface method. Should not be called     * directly. Invoked when component has been resized, and kicks     * off a projection change.     *      * @param e ComponentEvent     */    public void componentResized(ComponentEvent e) {        if (Debug.debugging("mapbean")) {            debugmsg("Size changed: " + getWidth() + " x " + getHeight());        }        projection.setWidth(getWidth());        projection.setHeight(getHeight());        fireProjectionChanged();    }    /**     * ComponentListener interface method. Should not be called     * directly. Invoked when component has been moved.     *      * @param e ComponentEvent     */    public void componentMoved(ComponentEvent e) {}    /**     * ComponentListener interface method. Should not be called     * directly. Invoked when component has been shown.     *      * @param e ComponentEvent     */    public void componentShown(ComponentEvent e) {}    /**     * ComponentListener interface method. Should not be called     * directly. Invoked when component has been hidden.     *      * @param e ComponentEvent     */    public void componentHidden(ComponentEvent e) {}    /*----------------------------------------------------------------------     *      *----------------------------------------------------------------------*/    /**     * Add a ProjectionListener to the MapBean. You do not need to     * call this method to add layers as ProjectionListeners. This     * method is called for the layer when it is added to the MapBean.     * Use this method for other objects that you want to know about     * the MapBean's projection.     *      * @param l ProjectionListener     */    public synchronized void addProjectionListener(ProjectionListener l) {        projectionSupport.addProjectionListener(l);        // Assume that it wants the current projection        l.projectionChanged(new ProjectionEvent(this, getProjection()));    }    /**     * Remove a ProjectionListener from the MapBean. You do not need     * to call this method to remove layers that are     * ProjectionListeners. This method is called for the layer when     * it is removed from the MapBean. Use this method for other     * objects that you want to remove from receiving projection

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人伦理片在线| 成人av在线资源网站| 国产欧美精品一区二区色综合| 99久久亚洲一区二区三区青草| 无码av中文一区二区三区桃花岛| 欧美国产精品中文字幕| 91精品国产91热久久久做人人| 成人久久视频在线观看| 精品在线免费视频| 亚洲制服丝袜av| 久久久不卡影院| 91精品国产综合久久精品app| 99久久综合精品| 久久精品国产99| 亚洲国产精品综合小说图片区| 日本一二三不卡| 欧美成人一区二区三区| 欧美午夜一区二区三区免费大片| 国模少妇一区二区三区| 日韩精品欧美精品| 一区二区三区四区不卡在线 | 国产精品资源站在线| 亚洲bdsm女犯bdsm网站| 最新国产精品久久精品| 国产精品毛片久久久久久| 久久噜噜亚洲综合| 精品日韩99亚洲| 日韩欧美高清在线| 日韩欧美一级在线播放| 欧美一区二区播放| 6080午夜不卡| 在线综合+亚洲+欧美中文字幕| 91黄视频在线观看| 在线免费视频一区二区| 91麻豆国产精品久久| 99久久免费精品高清特色大片| 成人美女视频在线看| 成人一区在线观看| 成人性生交大合| 成人高清视频在线| 成人h动漫精品一区二| 成人激情小说网站| 91婷婷韩国欧美一区二区| 91在线无精精品入口| 95精品视频在线| 色综合天天天天做夜夜夜夜做| 成人一区二区在线观看| 成人av影院在线| 色8久久人人97超碰香蕉987| 欧美在线观看视频一区二区 | 欧美日韩国产在线播放网站| 欧美在线观看视频一区二区| 欧美日韩精品福利| 91精品国产综合久久久久久漫画| 7777女厕盗摄久久久| 日韩欧美中文字幕一区| 精品久久久久一区二区国产| 久久免费午夜影院| 亚洲特黄一级片| 亚洲一区在线视频观看| 日韩成人dvd| 精彩视频一区二区三区| 成人三级伦理片| 91免费看`日韩一区二区| 欧美视频中文字幕| 日韩丝袜情趣美女图片| 日本一区二区三区电影| 亚洲免费观看高清完整版在线| 亚洲成人免费av| 九色综合狠狠综合久久| 成人ar影院免费观看视频| 91久久免费观看| 欧美一区二区高清| 欧美激情中文不卡| 亚洲高清在线精品| 国产精品77777| 色播五月激情综合网| 日韩一卡二卡三卡| 国产农村妇女精品| 五月天中文字幕一区二区| 国产精品主播直播| 在线观看亚洲a| 久久先锋影音av鲁色资源| 亚洲欧美区自拍先锋| 麻豆精品一区二区| 91丨九色丨尤物| 91精品国产黑色紧身裤美女| 国产精品丝袜黑色高跟| 视频在线观看一区| 9i看片成人免费高清| 日韩三级伦理片妻子的秘密按摩| 国产精品久久久久精k8| 美女在线一区二区| 99久久精品免费看国产| 欧美岛国在线观看| 亚洲小少妇裸体bbw| 不卡视频一二三四| 欧美一级免费观看| 有坂深雪av一区二区精品| 国产乱子轮精品视频| 欧美视频第二页| 国产精品天干天干在线综合| 久久国产精品第一页| 欧美体内she精视频| 欧美国产日韩a欧美在线观看| 日韩有码一区二区三区| 色香蕉成人二区免费| 国产欧美日韩一区二区三区在线观看| 婷婷丁香激情综合| 91色.com| 欧美高清在线视频| 精品一区二区av| 69p69国产精品| 一区二区高清在线| 北条麻妃一区二区三区| 久久久激情视频| 麻豆高清免费国产一区| 欧美日韩电影在线| 亚洲激情图片小说视频| 懂色av一区二区三区免费观看| 日韩欧美一区二区久久婷婷| 日韩成人一区二区| 欧美日韩你懂的| 亚洲电影你懂得| 在线一区二区三区四区五区 | 欧美日韩小视频| 一区二区三区在线观看国产| 成人精品视频一区| 国产精品理论在线观看| 国产激情91久久精品导航| 亚洲精品一区二区三区影院| 美女精品一区二区| 精品美女在线观看| 久久99久国产精品黄毛片色诱| 欧美一区二区网站| 免费观看30秒视频久久| 日韩欧美亚洲国产另类| 欧美aaa在线| 欧美zozozo| 国产乱子伦一区二区三区国色天香| 精品国产欧美一区二区| 精品综合免费视频观看| 久久久五月婷婷| 国产精品综合二区| 国产日韩影视精品| 成人午夜av电影| 最近中文字幕一区二区三区| 色婷婷av一区二区三区gif| 一区二区三区在线免费视频| 欧美视频中文一区二区三区在线观看| 亚洲成人一二三| 欧美一区二区三区啪啪| 日本sm残虐另类| 久久久国产一区二区三区四区小说 | 国产露脸91国语对白| 国产亚洲精品久| a在线播放不卡| 亚洲国产一区视频| 欧美tk丨vk视频| 国产aⅴ精品一区二区三区色成熟| 国产精品私人影院| 欧美视频一区二区在线观看| 蜜桃一区二区三区四区| 久久久久久免费毛片精品| 波多野结衣中文字幕一区| 亚洲精品自拍动漫在线| 欧美三级日本三级少妇99| 日韩影院免费视频| 久久久99精品免费观看| 高清不卡在线观看| 亚洲最大成人网4388xx| 欧美日产在线观看| 美女在线一区二区| 日韩一区二区免费在线电影| 久久 天天综合| 国产精品卡一卡二卡三| 在线影院国内精品| 国内精品自线一区二区三区视频| 国产日韩欧美在线一区| 99久久国产免费看| 日本中文字幕一区二区视频| 2014亚洲片线观看视频免费| 99视频一区二区三区| 亚洲不卡在线观看| 久久精品免费在线观看| 91浏览器在线视频| 亚洲mv大片欧洲mv大片精品| 在线免费不卡视频| 国产中文字幕一区| 亚洲色图欧洲色图| 日韩一区二区三区在线视频| 色综合网站在线| 美日韩一区二区| 国产精品看片你懂得| 欧美日韩一区二区三区不卡| 国产成人午夜视频| 亚洲夂夂婷婷色拍ww47| 久久久另类综合| 日韩一区二区免费高清| 99re免费视频精品全部|