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

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

?? webimageplugin.java

?? openmap java寫的開源數字地圖程序. 用applet實現,可以像google map 那樣放大縮小地圖.
?? JAVA
字號:
/* ********************************************************************** * $Source: /cvs/distapps/openmap/src/openmap/com/bbn/openmap/plugin/WebImagePlugIn.java,v $ * $Revision: 1.4.2.2 $  * $Date: 2006/01/13 21:04:22 $  * $Author: dietrick $ * * Code provided by Raj Singh from Syncline, rs@syncline.com * Updates provided by Holger Kohler, Holger.Kohler@dsto.defence.gov.au * ********************************************************************* */package com.bbn.openmap.plugin;import java.awt.Component;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.ByteArrayOutputStream;import java.io.InputStream;import java.util.Iterator;import java.util.Vector;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JOptionPane;import javax.swing.JPanel;import com.bbn.openmap.Layer;import com.bbn.openmap.image.ImageServerConstants;import com.bbn.openmap.omGraphics.OMGraphicList;import com.bbn.openmap.omGraphics.OMRaster;import com.bbn.openmap.proj.Projection;import com.bbn.openmap.util.Debug;import com.bbn.openmap.util.PropUtils;/** * This class asks for an image from a web server. How it asks for that image is * what is abstract. */public abstract class WebImagePlugIn extends AbstractPlugIn implements        ImageServerConstants {    /** For convenience. */    protected PlugInLayer layer = null;    /** The last projection object received. */    protected Projection currentProjection = null;    /**     * Create the query to be sent to the server, based on current settings.     */    public abstract String createQueryString(Projection p);    /**     * The getRectangle call is the main call into the PlugIn module. The module     * is expected to fill the graphics list with objects that are within the     * screen parameters passed.     *      * @param p projection of the screen, holding scale, center coords, height,     *        width.     */    public OMGraphicList getRectangle(Projection p) {        OMGraphicList list = new OMGraphicList();        currentProjection = p;        String urlString = createQueryString(p);        if (Debug.debugging("plugin")) {            Debug.output("WebImagePlugIn.getRectangle() with \"" + urlString                    + "\"");        }        if (urlString == null) {            return list;        }        java.net.URL url = null;        try {            url = new java.net.URL(urlString);            java.net.HttpURLConnection urlc = (java.net.HttpURLConnection) url.openConnection();            if (Debug.debugging("plugin")) {                Debug.output("url content type: " + urlc.getContentType());            }            if (urlc == null || urlc.getContentType() == null) {                if (layer != null) {                    layer.fireRequestMessage(getName()                            + ": unable to connect to " + getServerName());                } else {                    Debug.error(getName() + ": unable to connect to "                            + getServerName());                }                return list;            }            // text            if (urlc.getContentType().startsWith("text")) {                java.io.BufferedReader bin = new java.io.BufferedReader(new java.io.InputStreamReader(urlc.getInputStream()));                String st;                String message = "";                while ((st = bin.readLine()) != null) {                    message += st;                }                // Debug.error(message);                // How about we toss the message out to the user                // instead?                if (layer != null) {                    layer.fireRequestMessage(message);                }                // image            } else if (urlc.getContentType().startsWith("image")) {                // disconnect and reconnect in ImageIcon is very                // expensive                // urlc.disconnect();                // ImageIcon ii = new ImageIcon(url);                // this doesn't work always                // ImageIcon ii = new ImageIcon((Image)                // urlc.getContent());                // the best way, no reconnect, but can be an                // additional 'in memory' image                InputStream in = urlc.getInputStream();                // ------- Testing without this                ByteArrayOutputStream out = new ByteArrayOutputStream();                int buflen = 2048; // 2k blocks                byte buf[] = new byte[buflen];                int len = -1;                while ((len = in.read(buf, 0, buflen)) != -1) {                    out.write(buf, 0, len);                }                out.flush();                out.close();                ImageIcon ii = new ImageIcon(out.toByteArray());                // -------- To here, replaced by two lines below...                // DFD - I've seen problems with these lines below handling PNG                // images, and with some servers with some coverages, like there                // was something in the image under certain conditions that made                // it tough to view. So while it might be more memory efficient                // to do the code below, we'll error on the side of correctness                // until we figure out what's going on.                // FileCacheImageInputStream fciis = new                // FileCacheImageInputStream(in, null);                // BufferedImage ii = ImageIO.read(fciis);                OMRaster image = new OMRaster((int) 0, (int) 0, ii);                list.add(image);            } // end if image        } catch (java.net.MalformedURLException murle) {            Debug.error("WebImagePlugIn: URL \"" + urlString                    + "\" is malformed.");        } catch (java.io.IOException ioe) {            JOptionPane.showMessageDialog(null,                    getName() + ":\n\n   Couldn't connect to "                            + getServerName(),                    "Connection Problem",                    JOptionPane.INFORMATION_MESSAGE);        }        list.generate(p);        return list;    } // end getRectangle    public abstract String getServerName();    public java.awt.Component getGUI() {        JPanel panel = new JPanel(new GridLayout(0, 1));        JButton parameterButton = new JButton("Adjust Parameters");        parameterButton.setActionCommand(Layer.DisplayPropertiesCmd);        if (layer != null) {            parameterButton.addActionListener(layer);        }        JButton viewQueryButton = new JButton("View Current Query");        viewQueryButton.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent ae) {                if (layer != null) {                    String query = createQueryString(currentProjection);                    Vector queryStrings = PropUtils.parseMarkers(query, "&");                    StringBuffer updatedQuery = new StringBuffer();                    Iterator it = queryStrings.iterator();                    if (it.hasNext()) {                        updatedQuery.append((String) it.next());                    }                    while (it.hasNext()) {                        updatedQuery.append("&\n   ");                        updatedQuery.append((String) it.next());                    }                    JOptionPane.showMessageDialog(null,                            updatedQuery.toString(),                            "Current Query for " + getName(),                            JOptionPane.INFORMATION_MESSAGE);                }            }        });        redrawButton.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent ae) {                if (layer != null) {                    layer.doPrepare();                }            }        });        redrawButton.setEnabled(layer != null);        panel.add(parameterButton);        panel.add(viewQueryButton);        panel.add(redrawButton);        return panel;    }    protected JButton redrawButton = new JButton("Query Server");    protected JOptionPane messageWindow = new JOptionPane();    /**     * Set the component that this PlugIn uses as a grip to the map.     */    public void setComponent(Component comp) {        super.setComponent(comp);        if (comp instanceof PlugInLayer) {            layer = (PlugInLayer) comp;        } else {            layer = null;        }        redrawButton.setEnabled(layer != null);    }} // end WMSPlugin

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品久久久久久久久老牛影院| 亚洲欧美乱综合| 日韩精品一区国产麻豆| 欧美另类z0zxhd电影| 欧美视频第二页| 欧美午夜精品久久久| 欧美色中文字幕| 91精品一区二区三区在线观看| 在线电影院国产精品| 欧美一区二区三区在| 制服丝袜国产精品| 日韩欧美一区二区在线视频| 日韩精品中文字幕一区二区三区| 日韩欧美激情四射| 久久中文字幕电影| 国产精品色一区二区三区| 欧美国产欧美亚州国产日韩mv天天看完整| 欧美激情综合在线| 亚洲三级视频在线观看| 亚洲福利视频一区| 秋霞午夜av一区二区三区| 美女任你摸久久| 丁香婷婷综合网| 91欧美一区二区| 欧美日韩国产中文| 日韩精品一区在线观看| 国产亚洲综合在线| 亚洲乱码国产乱码精品精98午夜| 亚洲永久免费av| 免费欧美在线视频| 国产99精品视频| 91国产视频在线观看| 欧美一区二区啪啪| 国产亚洲精品久| 亚洲欧美日韩在线播放| 日日夜夜免费精品| 国产精品一区在线观看乱码| 成人av网在线| 这里只有精品电影| 久久久久久久网| 一区二区三区蜜桃| 日韩中文字幕91| 国产91综合网| 欧美日韩精品欧美日韩精品一 | 国产精品嫩草99a| 亚洲一区二区三区四区在线观看 | 色就色 综合激情| 日韩欧美亚洲一区二区| 国产精品伦理一区二区| 视频一区视频二区在线观看| 国产二区国产一区在线观看| 欧美专区亚洲专区| 国产目拍亚洲精品99久久精品 | 91亚洲国产成人精品一区二区三| 欧美亚洲动漫精品| 日本一区二区三区四区| 首页国产欧美久久| 91在线云播放| 久久久蜜桃精品| 午夜不卡av在线| 99re在线精品| 久久久噜噜噜久噜久久综合| 亚洲成人免费观看| eeuss鲁片一区二区三区在线观看| 欧美电影在线免费观看| 亚洲婷婷国产精品电影人久久| 毛片av一区二区| 精品视频在线免费看| 136国产福利精品导航| 国产自产高清不卡| 91精品国产91久久久久久最新毛片| 国产精品久久久久一区| 国产在线视频一区二区三区| 欧美另类变人与禽xxxxx| 亚洲免费观看高清完整版在线观看 | 一区二区三区不卡视频在线观看 | 日韩一区国产二区欧美三区| 亚洲乱码精品一二三四区日韩在线| 国产精品一区二区视频| 91精品婷婷国产综合久久性色| 亚洲天堂2014| 成人国产亚洲欧美成人综合网 | 日日噜噜夜夜狠狠视频欧美人 | 国产精品嫩草影院com| 精油按摩中文字幕久久| 69堂亚洲精品首页| 亚洲国产精品久久不卡毛片| 色综合中文字幕国产 | 亚洲一线二线三线视频| 99riav一区二区三区| 亚洲国产成人一区二区三区| 久久99热这里只有精品| 欧美日本一区二区三区四区| 亚洲精品免费在线| 色悠悠久久综合| 亚洲乱码中文字幕| 在线观看网站黄不卡| 亚洲精品免费一二三区| 色综合久久综合网97色综合| 中文字幕日韩欧美一区二区三区| 国产大片一区二区| 2023国产精品| 国产精品正在播放| 久久综合色天天久久综合图片| 国内精品不卡在线| 久久综合九色综合欧美就去吻| 老司机免费视频一区二区| 欧美一级免费观看| 精品一区二区在线观看| 久久影院视频免费| 国产传媒日韩欧美成人| 国产视频911| www.亚洲色图.com| 一区二区三区在线免费播放| 欧美性色黄大片| 一区二区三区日韩欧美| 欧美日韩中文一区| 久久狠狠亚洲综合| 国产色综合一区| 色综合中文字幕国产 | 99久久免费国产| 亚洲一区二区三区美女| 欧美日韩在线精品一区二区三区激情| 亚洲大片免费看| 欧美一二区视频| 国产不卡视频一区| 一区二区欧美视频| 日韩一区二区三区在线观看 | 欧美一区二区三区四区五区| 麻豆一区二区在线| 亚洲国产精品激情在线观看| 色欧美片视频在线观看在线视频| 午夜精彩视频在线观看不卡| 日韩欧美国产综合一区| 国产suv精品一区二区6| 亚洲一区二三区| 日韩欧美一区二区久久婷婷| 成人国产免费视频| 无码av免费一区二区三区试看| 欧美精品一区二区三区四区| 国产传媒日韩欧美成人| 亚洲精品高清视频在线观看| 日韩一区二区免费电影| 成人永久看片免费视频天堂| 夜夜嗨av一区二区三区中文字幕| 日韩一区二区在线观看视频| 成人永久看片免费视频天堂| 亚洲一区自拍偷拍| 久久久精品免费免费| 欧洲国内综合视频| 国产高清不卡二三区| 亚洲成年人影院| 国产日韩欧美一区二区三区综合| 欧美伊人久久久久久久久影院| 激情五月婷婷综合| 亚洲愉拍自拍另类高清精品| 久久看人人爽人人| 欧美群妇大交群中文字幕| 懂色av一区二区三区免费看| 日日骚欧美日韩| 亚洲三级电影全部在线观看高清| 日韩精品一区二区三区中文不卡 | 国产精品99久久久| 亚洲一线二线三线视频| 精品国产伦一区二区三区观看方式 | 91日韩在线专区| 老司机免费视频一区二区三区| 亚洲欧美另类在线| 久久亚洲影视婷婷| 欧美精品日韩综合在线| 91小视频免费观看| 国模娜娜一区二区三区| 日本欧美在线观看| 亚洲在线观看免费视频| 中文av一区二区| 久久网站热最新地址| 在线播放日韩导航| 色偷偷久久人人79超碰人人澡 | 精品日韩一区二区三区免费视频| 97se亚洲国产综合自在线 | 欧美一区二区三区四区高清| 色香蕉久久蜜桃| 成人国产精品免费观看视频| 黑人巨大精品欧美黑白配亚洲| 日韩经典一区二区| 一区二区在线观看免费| 中文字幕一区二区三区乱码在线| 久久美女高清视频| 精品国产91乱码一区二区三区 | 国产精品国产精品国产专区不片| 久久久亚洲精品石原莉奈| 精品国产一区二区三区不卡| 91.成人天堂一区| 欧美日韩在线电影| 欧美色综合久久| 欧美日韩一本到| 欧美日韩另类一区| 欧美日韩综合一区| 欧美色网一区二区| 欧美日韩国产小视频|