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

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

?? bufferedlayer.java

?? openmap java寫的開源數字地圖程序. 用applet實現,可以像google map 那樣放大縮小地圖.
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
// **********************************************************************// // <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/layer/BufferedLayer.java,v $// $RCSfile: BufferedLayer.java,v $// $Revision: 1.5.2.4 $// $Date: 2005/08/09 19:21:28 $// $Author: dietrick $// // **********************************************************************package com.bbn.openmap.layer;import java.awt.BorderLayout;import java.awt.Color;import java.awt.Component;import java.awt.Graphics;import java.awt.Image;import java.awt.Paint;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.ComponentEvent;import java.awt.image.BufferedImage;import java.beans.PropertyChangeEvent;import java.beans.PropertyChangeListener;import java.beans.PropertyVetoException;import java.beans.beancontext.BeanContext;import java.util.Properties;import java.util.Vector;import javax.swing.BoxLayout;import javax.swing.JCheckBox;import javax.swing.JPanel;import javax.swing.JTabbedPane;import com.bbn.openmap.BufferedMapBean;import com.bbn.openmap.Layer;import com.bbn.openmap.LayerHandler;import com.bbn.openmap.MapBean;import com.bbn.openmap.omGraphics.OMColor;import com.bbn.openmap.proj.Projection;import com.bbn.openmap.util.Debug;import com.bbn.openmap.util.PropUtils;/** * A BufferedLayer is a layer that buffers a group of layers into an * image. When this layer repaints, the image gets rendered. This * layer can be used to group a set of layers into one, and was * designed with the idea that it is a background layer where a more * animated layer would be on top of it. * <P> *  * This layer contains a MapBean, and any layer that gets added to it * simply gets added to the MapBean. When a layer needs to redraw * itself, it can act normally, and the BufferedLayer will get updated * as needed. If the MapBean is a BufferedMapBean (which it is by * default), then the layers will get buffered into an image. * <P> *  * There are some special considerations to think about when using * this layer if the background is at all transparent. The image * buffer will need to be recreated at certain times in order to * prevent leftover images from the previous paintings. When the * background is set for the layer, the transparency is tested if the * background is a Color and the setHasTransparentBackground() method * is called accordingly. If a different Paint object is set in the * BufferedLayer, it's up to you to set this variable. This causes a * new image to be created every time a new projection is provided to * the layer. If the layers added to this BufferedLayer are active, * meaning that their content could change between projection changes, * you should set the hasActiveLayers flag to true. this causes a new * image buffer to be created every time a layer repaints itself. * Again, this is only important if the background color of the layer * is transparent. * <P> *  * The BufferedLayer can be configured in the openmap.properties file: *  * <pre> *  *  *  bufLayer.class=com.bbn.openmap.layer.BufferedLayer *  bufLayer.prettyName=My Layer Group *  bufLayer.layers=layer1 layer2 layer3 *  bufLayer.visibleLayers=layer1 layer3 *  bufLayer.hasActiveLayers=false *  *   * </pre> *  * layer1, layer2, etc should be defined as any other openmap layer. */public class BufferedLayer extends Layer implements PropertyChangeListener {    public final static String LayersProperty = "layers";    public final static String VisibleLayersProperty = "visibleLayers";    public final static String HasActiveLayersProperty = "hasActiveLayers";    /**     * Used to recreate the buffer on every repaint() call made by     * every layer. Makes for a lot of image buffer creation. If the     * layers may call repaint() and change what they present between     * projection changes, then this needs to be set to true.     * Otherwise, the old graphics will still be visible. This only     * needs to be set if the background is at all transparent. If the     * background of the internal MapBean is opaque, set this to     * false, which is the default.     */    protected boolean hasActiveLayers = false;    /**     * Used to tell the BufferedLayer that the background is     * transparent. Will cause a new image buffer to be created when     * the projection changes, in order to cover up what was already     * there. This is set to true but default, since the internal     * MapBean color is set to OMColor.clear.     */    protected boolean hasTransparentBackground = true;    /**     * The MapBean used as the group organized. If this is a     * BufferedMapBean, the layer will provide a buffered image.     */    MapBean mapBean;    public BufferedLayer() {        this.setLayout(new BorderLayout());        // Adds the mapbean to the layer        MapBean mb = new BLMapBean(this);        // Add it the layer properly...        setMapBean(mb);    }    public void setProperties(String prefix, Properties props) {        super.setProperties(prefix, props);        prefix = PropUtils.getScopedPropertyPrefix(prefix);        hasActiveLayers = PropUtils.booleanFromProperties(props, prefix                + HasActiveLayersProperty, hasActiveLayers);        Vector layersValue = PropUtils.parseSpacedMarkers(props.getProperty(prefix                + LayersProperty));        Vector startuplayers = PropUtils.parseSpacedMarkers(props.getProperty(prefix                + VisibleLayersProperty));        Layer[] layers = LayerHandler.getLayers(layersValue,                startuplayers,                props);        for (int i = 0; i < layers.length; i++) {            mapBean.add(layers[i]);        }    }    public Properties getProperties(Properties props) {        props = super.getProperties(props);        String prefix = PropUtils.getScopedPropertyPrefix(this);        StringBuffer layersListProperty = new StringBuffer();        StringBuffer startupLayersListProperty = new StringBuffer();        Component[] comps = mapBean.getComponents();        for (int i = 0; i < comps.length; i++) {            // they have to be layers            Layer layer = (Layer) comps[i];            String lPrefix = layer.getPropertyPrefix();            boolean unsetPrefix = false;            if (lPrefix == null) {                lPrefix = "layer" + i;                // I think we need to do this, in order to get proper                // scoping in the properties. We'll unset it later...                layer.setPropertyPrefix(lPrefix);                unsetPrefix = true;            }            layersListProperty.append(" " + lPrefix);            if (layer.isVisible()) {                startupLayersListProperty.append(" " + lPrefix);            }            Debug.output("BufferedLayer: getting properties for "                    + layer.getName() + " "                    + layer.getProperties(new Properties()));            layer.getProperties(props);            if (unsetPrefix) {                layer.setPropertyPrefix(null);            }        }        props.put(prefix + LayersProperty, layersListProperty.toString());        props.put(prefix + VisibleLayersProperty,                startupLayersListProperty.toString());        props.put(prefix + HasActiveLayersProperty,                new Boolean(hasActiveLayers).toString());        return props;    }    /**     * Not really implemented, because the mechanism for providing a     * set of properties that let you add a variable number of new     * objects as children to this one.     */    public Properties getPropertyInfo(Properties props) {        props = super.getPropertyInfo(props);        return props;    }    /**     * If true, will cause a new image buffer to be recreated for     * every layer.repaint() call. Should only be set to true if the     * background is at all transparent, and if the layers could     * change between projection changes.     */    public void setHasActiveLayers(boolean value) {        hasActiveLayers = value;    }    public boolean getHasActiveLayers() {        return hasActiveLayers;    }    /**     * If true, will create a new image buffer when the projection     * changes. Should be set to true if the background has any     * transparency.     */    public void setHasTransparentBackground(boolean value) {        hasTransparentBackground = value;    }    public boolean getHasTransparentBackground() {        return hasTransparentBackground;    }    /**     * Remove all layers from the group.     */    public void clearLayers() {        Component[] layers = getLayers();        if (layers != null && layers.length > 0) {            for (int i = 0; i < layers.length; i++) {                removeLayer((Layer) layers[i]);            }        }        resetPalette();    }    /**     * Method for BeanContextChild interface. Gets an iterator from     * the BeanContext to call findAndInit() over. Sets BeanContext on     * sub-layers.     */    public void setBeanContext(BeanContext in_bc) throws PropertyVetoException {        super.setBeanContext(in_bc);        Component[] layers = getLayers();        if (layers != null && layers.length > 0) {            for (int i = 0; i < layers.length; i++) {                ((Layer) layers[i]).setBeanContext(in_bc);            }        }    }    /**     * Add a layer to the group. Sets the BeanContext on the added     * layer.     */    public void addLayer(Layer layer) {        mapBean.add(layer);        try {            layer.setBeanContext(getBeanContext());        } catch (PropertyVetoException nve) {        }        resetPalette();    }    /**     * Remove the layer from group.     */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人欧美一区二区三区黑人麻豆 | 在线播放欧美女士性生活| 国产精品不卡一区二区三区| 欧美美女喷水视频| 成人午夜大片免费观看| 亚洲精品欧美二区三区中文字幕| 精品国精品自拍自在线| 欧美亚洲高清一区| 91在线一区二区三区| 国产麻豆日韩欧美久久| 国精品**一区二区三区在线蜜桃| 五月婷婷另类国产| 亚洲午夜私人影院| 亚洲欧美日韩国产一区二区三区| 2021久久国产精品不只是精品| 欧美精品日韩一区| 91女人视频在线观看| 美日韩一级片在线观看| 午夜精品免费在线观看| 亚洲观看高清完整版在线观看 | 欧美日韩一二三| 欧美亚洲国产一区二区三区 | 中文字幕一区二区三区精华液| 久久久99精品久久| 国产亚洲女人久久久久毛片| 欧美成人精品二区三区99精品| 欧美精品粉嫩高潮一区二区| 7777精品伊人久久久大香线蕉最新版| 欧美精品自拍偷拍动漫精品| 欧美日韩高清不卡| 5566中文字幕一区二区电影 | 中文字幕视频一区二区三区久| 中文字幕成人av| 亚洲人成精品久久久久久| 日韩一区在线播放| 午夜久久久影院| 久久精品国产精品亚洲精品| 国产精品一区2区| 欧美中文字幕亚洲一区二区va在线| 日韩一区二区免费高清| 亚洲色图欧洲色图婷婷| 国产真实乱偷精品视频免| 色哟哟在线观看一区二区三区| 欧美成人午夜电影| 亚洲一区二区三区小说| 激情欧美一区二区三区在线观看| 99视频精品免费视频| 日韩欧美一二三四区| 国产精品久99| 国产成人欧美日韩在线电影| 成人精品亚洲人成在线| 91麻豆精品国产| 国产欧美一区二区精品性| 亚洲一区二区在线观看视频| 高清不卡在线观看| 欧美xfplay| 日本在线不卡一区| 日韩精品一区二区三区中文精品| 亚洲蜜臀av乱码久久精品蜜桃| 高清成人在线观看| 精品va天堂亚洲国产| 蜜臀久久久99精品久久久久久| 99视频热这里只有精品免费| 国产欧美精品一区二区三区四区| 狠狠色狠狠色综合| 欧美久久久一区| 亚洲美女屁股眼交3| 91免费版在线| 亚洲天堂成人网| 99精品欧美一区| 一区二区三区国产精华| 欧美色图在线观看| 午夜精品久久久久久久久久 | 99精品偷自拍| 成人免费一区二区三区在线观看| 国产乱码一区二区三区| 国产亚洲欧洲一区高清在线观看| 国产成人免费视频一区| 国产日产亚洲精品系列| 免费在线视频一区| 日韩视频中午一区| 懂色av一区二区夜夜嗨| 亚洲自拍偷拍图区| 久久精品亚洲麻豆av一区二区 | 欧美精品久久久久久久多人混战 | 国产美女主播视频一区| 综合婷婷亚洲小说| 色天天综合色天天久久| 麻豆成人久久精品二区三区小说| 精品久久久久香蕉网| 国内精品久久久久影院薰衣草| 国产精品丝袜久久久久久app| 久久99国产乱子伦精品免费| 亚洲欧美一区二区三区极速播放 | 豆国产96在线|亚洲| 日韩国产精品久久| 国产欧美一区在线| 欧美日韩国产精选| 国产在线国偷精品免费看| 国产精品毛片久久久久久久| 在线播放日韩导航| 91浏览器入口在线观看| 久久av资源网| 韩国v欧美v日本v亚洲v| 青草av.久久免费一区| 亚洲综合免费观看高清完整版在线| 欧美老肥妇做.爰bbww| 色视频成人在线观看免| 成人app在线| 懂色av中文一区二区三区| 美国十次了思思久久精品导航| 亚洲男人的天堂网| 亚洲精品视频免费看| 国产精品人成在线观看免费| 精品国产91亚洲一区二区三区婷婷| 91麻豆6部合集magnet| 99re热这里只有精品免费视频| 国产一区二区剧情av在线| 国产最新精品精品你懂的| 亚洲综合一区二区三区| 亚洲第一福利视频在线| 香蕉av福利精品导航| 亚洲视频小说图片| 一区二区三区免费看视频| 亚洲精品高清在线| 婷婷综合在线观看| 亚洲成人在线网站| 精品伊人久久久久7777人| 一级中文字幕一区二区| 午夜久久久久久久久久一区二区| 奇米精品一区二区三区在线观看| 亚洲国产日韩精品| 亚洲国产视频在线| 久久99国产精品久久| 国产99久久久精品| 欧美日韩一卡二卡| 欧美精品一区二区在线观看| 国产精品素人一区二区| 国产精品夫妻自拍| 亚洲成人免费av| 午夜精品视频一区| 精品一区二区免费视频| 97久久精品人人澡人人爽| 欧美一区二区三区四区高清| 精品视频1区2区| 欧美一级精品大片| 久久久久青草大香线综合精品| 国产精品久久影院| 午夜伊人狠狠久久| 国产毛片一区二区| 91在线视频在线| 久久色视频免费观看| 亚洲国产美国国产综合一区二区| 蜜桃一区二区三区在线观看| 成人综合婷婷国产精品久久 | 久久久亚洲精品一区二区三区| 国产精品久久网站| 国产在线精品一区在线观看麻豆| 欧美亚洲一区三区| 国产精品毛片久久久久久久| 日本vs亚洲vs韩国一区三区| 欧美三级电影网站| 亚洲九九爱视频| 在线一区二区三区做爰视频网站| 国产视频一区在线观看| 免费观看一级欧美片| a级精品国产片在线观看| 精品国产99国产精品| 琪琪久久久久日韩精品| 欧美精品久久一区二区三区| 中文字幕亚洲成人| 成人一级视频在线观看| 欧美精品一区男女天堂| 极品少妇一区二区三区精品视频| 2欧美一区二区三区在线观看视频| 亚洲电影在线免费观看| 欧美日韩国产成人在线免费| 视频一区欧美精品| 欧美一区二区三区色| 麻豆视频观看网址久久| 91国产成人在线| 亚洲激情图片一区| 欧美日韩视频一区二区| 亚洲综合成人网| 欧美日韩免费一区二区三区视频| 午夜电影一区二区三区| 欧洲激情一区二区| 日本伊人精品一区二区三区观看方式| 日韩欧美二区三区| 精彩视频一区二区三区| 久久一夜天堂av一区二区三区| 国产成人av福利| 亚洲一区二区三区四区中文字幕| 日韩一级黄色大片| 老司机一区二区| 亚洲天堂中文字幕| 91精品国产91久久久久久一区二区| 日韩不卡免费视频| 国产精品视频一二| 精品嫩草影院久久|