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

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

?? earthquakelayer.java

?? openmap java寫的開源數字地圖程序. 用applet實現,可以像google map 那樣放大縮小地圖.
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
            }            try {                quakefinger.close();            } catch (IOException e) {                Debug.error("EarthquakeLayer.getEarthquakeData(): "                        + "error closing socket: " + e);            }        }        //      int nQuakes = linesOfData.size();        //      for (int i=0; i<nQuakes; i++) {        //          Debug.output((String)linesOfData.elementAt(i));        //      }        return linesOfData;    }    // This is the USGS's date problem, not ours (of course when they    // change their format, we'll have to update this).    // Note that also this could just be a bogus line (not a dataline)    // beginning with a number, so we've got to deal with it here.    private String hackY2K(String date) {        StringTokenizer tok = new StringTokenizer(date, "/");        String year, month, day;        try {            year = tok.nextToken();            month = tok.nextToken();            day = tok.nextToken();        } catch (NoSuchElementException e) {            Debug.error("EarthquakeLayer: unparsable date: " + date);            return null;        }        if (year.length() == 2) {            int y;            try {                y = Integer.parseInt(year);            } catch (NumberFormatException e) {                Debug.error("EarthquakeLayer: invalid year: " + year);                return null;            }            // Sliding window technique...            if (y > 70) {                date = "19";            } else {                date = "20";            }        } else if (year.length() != 4) {            Debug.error("EarthquakeLayer: unparsable year: " + year);            return null;        }        date = date + year + "/" + month + "/" + day;        return date;    }    /**     * Gets the gui controls associated with the layer.     *      * @return Component     */    public Component getGUI() {        JPanel p;        if (gui == null) {            gui = PaletteHelper.createVerticalPanel("Earthquakes");            GridBagLayout gridbag = new GridBagLayout();            GridBagConstraints constraints = new GridBagConstraints();            gui.setLayout(gridbag);            constraints.fill = GridBagConstraints.HORIZONTAL; // fill            // horizontally            constraints.gridwidth = GridBagConstraints.REMAINDER; //another            // row            constraints.anchor = GridBagConstraints.EAST; // tack to            // the left            // edge            ActionListener al = new ActionListener() {                public void actionPerformed(ActionEvent e) {                    int index = Integer.parseInt(e.getActionCommand(), 10);                    activeSites[index] = !activeSites[index];                }            };            p = PaletteHelper.createCheckbox("Sites",                    fingerSites,                    activeSites,                    al);            gridbag.setConstraints(p, constraints);            gui.add(p);            JButton b = new JButton("Query Now");            b.addActionListener(new ActionListener() {                public void actionPerformed(ActionEvent e) {                    // force refetch of data                    lastDataFetchTime = 0;                    doPrepare();                }            });            gridbag.setConstraints(p, constraints);            gui.add(b);        }        return gui;    }    /**     * Returns the MapMouseListener object that handles the mouse     * events.     *      * @return the MapMouseListener for the layer, or null if none     */    public MapMouseListener getMapMouseListener() {        return this;    }    //----------------------------------------------------------------    // MapMouseListener interface methods    //----------------------------------------------------------------    /**     * Return a list of the modes that are interesting to the     * MapMouseListener. The source MouseEvents will only get sent to     * the MapMouseListener if the mode is set to one that the     * listener is interested in. Layers interested in receiving     * events should register for receiving events in "select" mode:     * <code>     * <pre>     * return new String[] { SelectMouseMode.modeID };     * </pre>     * <code>     * @return String[] of modeID's     * @see com.bbn.openmap.event.NavMouseMode#modeID     * @see com.bbn.openmap.event.SelectMouseMode#modeID     * @see com.bbn.openmap.event.NullMouseMode#modeID     */    public String[] getMouseModeServiceList() {        return new String[] { com.bbn.openmap.event.SelectMouseMode.modeID };    }    /**     * Invoked when a mouse button has been pressed on a component.     *      * @param e MouseEvent     * @return true if the listener was able to process the event.     */    public boolean mousePressed(MouseEvent e) {        return false;    }    /**     * Invoked when a mouse button has been released on a component.     *      * @param e MouseEvent     * @return true if the listener was able to process the event.     */    public boolean mouseReleased(MouseEvent e) {        OMGraphicList omgraphics = getList();        if (omgraphics != null && drillData != null) {            OMGraphic obj = omgraphics.findClosest(e.getX(), e.getY(), 4);            if (obj != null) {                int id = ((Integer) obj.getAppObject()).intValue();                fireRequestInfoLine(drillData[id]);                showingInfoLine = true;                return true;            }        }        return false;    }    /**     * Invoked when the mouse has been clicked on a component. The     * listener will receive this event if it successfully processed     * <code>mousePressed()</code>, or if no other listener     * processes the event. If the listener successfully processes     * mouseClicked(), then it will receive the next mouseClicked()     * notifications that have a click count greater than one.     *      * @param e MouseEvent     * @return true if the listener was able to process the event.     */    public boolean mouseClicked(MouseEvent e) {        return false;    }    /**     * Invoked when the mouse enters a component.     *      * @param e MouseEvent     */    public void mouseEntered(MouseEvent e) {}    /**     * Invoked when the mouse exits a component.     *      * @param e MouseEvent     */    public void mouseExited(MouseEvent e) {}    /**     * Invoked when a mouse button is pressed on a component and then     * dragged. The listener will receive these events if it     * successfully processes mousePressed(), or if no other listener     * processes the event.     *      * @param e MouseEvent     * @return true if the listener was able to process the event.     */    public boolean mouseDragged(MouseEvent e) {        return false;    }    /**     * Invoked when the mouse button has been moved on a component     * (with no buttons down).     *      * @param e MouseEvent     * @return true if the listener was able to process the event.     */    public boolean mouseMoved(MouseEvent e) {        // clean up display        if (showingInfoLine) {            showingInfoLine = false;            fireRequestInfoLine("");        }        return false;    }    /**     * Handle a mouse cursor moving without the button being pressed.     * This event is intended to tell the listener that there was a     * mouse movement, but that the event was consumed by another     * layer. This will allow a mouse listener to clean up actions     * that might have happened because of another motion event     * response.     */    public void mouseMoved() {}    //----------------------------------------------------------------    // PropertyConsumer Interface    //----------------------------------------------------------------    /**     * Set the properties of the EarthquakeLayer.     *      * @param prefix String     * @param props Properties     */    public void setProperties(String prefix, Properties props) {        super.setProperties(prefix, props);        prefix = PropUtils.getScopedPropertyPrefix(prefix);        // list of sites        String sites = props.getProperty(prefix + fingerSitesProperty);        if (sites != null) {            Vector v = new Vector();            String str;            StringTokenizer tok = new StringTokenizer(sites);            while (tok.hasMoreTokens()) {                str = tok.nextToken();                v.addElement(str);            }            int len = v.size();            fingerSites = new String[len];            activeSites = new boolean[len];            activeSites[0] = true;            for (int i = 0; i < len; i++) {                fingerSites[i] = (String) v.elementAt(i);            }        }        fetchIntervalMillis = PropUtils.intFromProperties(props, prefix                + queryIntervalProperty, 300) * 1000;    }    /**     * Get the associated properties object.     */    public Properties getProperties(Properties props) {        props = super.getProperties(props);        return getProperties(propertyPrefix, props);    }    /**     * Get the associated properties object. This method creates a     * Properties object if necessary and fills it with the relevant     * data for this layer. Relevant properties for EarthquakeLayers     * are the sites to retrieve earth quake data from, and the     * interval in milliseconds (see class description.)     */    public Properties getProperties(String prefix, Properties props) {        props = super.getProperties(props);        prefix = PropUtils.getScopedPropertyPrefix(prefix);        StringBuffer sitesToFinger = new StringBuffer("");        for (int i = 0; i < fingerSites.length; ++i) {            sitesToFinger.append(fingerSites[i]);            sitesToFinger.append(" ");        }        sitesToFinger.deleteCharAt(sitesToFinger.length() - 1);        props.put(prefix + fingerSitesProperty, sitesToFinger.toString());        props.put(prefix + queryIntervalProperty,                Long.toString(fetchIntervalMillis));        return props;    }    /**     * Supplies the propertiesInfo object associated with this     * EarthquakeLayer object. Contains the human readable     * describtions of the properties and the     * <code>initPropertiesProperty</code> (see Inspector class.)     */    public Properties getPropertyInfo(Properties info) {        info = super.getPropertyInfo(info);        info.put(fingerSitesProperty, "WWW sites to finger");        info.put(queryIntervalProperty, "Query interval in seconds");        return info;    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜成人在线视频| 中日韩av电影| 蜜臀av性久久久久蜜臀aⅴ| 777亚洲妇女| 精品一区二区三区免费播放| 久久综合九色欧美综合狠狠| 国产suv精品一区二区6| 国产欧美一区二区三区网站| 91免费版在线| 亚洲超碰97人人做人人爱| 欧美一级搡bbbb搡bbbb| 国产综合成人久久大片91| 中文字幕av在线一区二区三区| 成人v精品蜜桃久久一区| 亚洲美女屁股眼交3| 欧美精品久久久久久久多人混战| 喷水一区二区三区| 国产嫩草影院久久久久| 在线观看视频一区二区欧美日韩| 午夜精品国产更新| 久久九九久精品国产免费直播| 99精品1区2区| 亚洲国产成人va在线观看天堂| 精品久久免费看| 97久久超碰国产精品电影| 日韩激情av在线| 中文字幕精品三区| 6080午夜不卡| 成人免费福利片| 欧美a级理论片| 国产精品女人毛片| 欧美日韩综合在线免费观看| 国产盗摄精品一区二区三区在线| 亚洲综合在线免费观看| 久久久美女艺术照精彩视频福利播放| 99riav一区二区三区| 免费观看一级特黄欧美大片| 亚洲天堂福利av| 精品欧美乱码久久久久久1区2区| 不卡av免费在线观看| 毛片av中文字幕一区二区| 国产精品久久久久aaaa| 日韩精品一区二区在线观看| 91丨九色丨蝌蚪丨老版| 韩国精品免费视频| 香蕉影视欧美成人| 亚洲四区在线观看| 久久久99久久精品欧美| 91.xcao| 91麻豆产精品久久久久久| 国内精品久久久久影院色| 午夜久久久久久久久| 亚洲视频 欧洲视频| 国产欧美日产一区| 欧美成人精品高清在线播放| 欧美影院一区二区三区| 91亚洲精品久久久蜜桃网站 | 日韩欧美不卡一区| 色88888久久久久久影院按摩| 国产成人在线色| 蜜臂av日日欢夜夜爽一区| 亚洲一区二区精品久久av| 亚洲欧美日韩中文字幕一区二区三区| 久久夜色精品国产欧美乱极品| 在线播放日韩导航| 欧美日韩久久一区| 在线亚洲一区二区| 91久久一区二区| 99久久婷婷国产| 91在线观看下载| 成人性生交大片免费 | av电影天堂一区二区在线观看| 国内精品免费**视频| 国产呦精品一区二区三区网站| 日韩高清不卡一区二区| 丝袜国产日韩另类美女| 日韩有码一区二区三区| 午夜不卡av在线| 蜜臀国产一区二区三区在线播放| 午夜电影久久久| 日韩av高清在线观看| 日本午夜精品视频在线观看| 午夜精品成人在线| 日韩经典中文字幕一区| 麻豆国产精品官网| 久久精品免费看| 国产一区二区福利| 成人免费看片app下载| 一本久久a久久精品亚洲| 91在线精品一区二区三区| 91日韩在线专区| 欧美精品在线一区二区| 日韩午夜激情av| 久久久久高清精品| 国产精品私人自拍| 亚洲精品成人精品456| 亚洲成人自拍网| 久久精品久久综合| 国产成人av电影在线| 色综合久久中文字幕| 欧美精选在线播放| 久久久久久免费毛片精品| 国产精品国产精品国产专区不蜜| 一区二区在线观看视频| 午夜免费久久看| 国产精品99久久久| 欧美伊人精品成人久久综合97| 日韩三级视频在线观看| 亚洲国产精品成人久久综合一区| 亚洲综合自拍偷拍| 国产一区二区三区日韩 | 国产精品一区二区你懂的| 丁香婷婷综合色啪| 欧美日韩一二三| 国产日韩欧美一区二区三区乱码| 亚洲三级在线观看| 蜜桃一区二区三区在线| 激情欧美日韩一区二区| 色综合久久天天| 精品久久一区二区三区| 一级做a爱片久久| 国产在线一区二区综合免费视频| 成+人+亚洲+综合天堂| 91精品国产综合久久久久久久 | 日韩免费高清av| 中文字幕av在线一区二区三区| 五月婷婷欧美视频| 成人a免费在线看| 日韩午夜电影av| 一区二区三区免费网站| 国产精品一线二线三线| 欧美老人xxxx18| 综合久久久久久| 精品在线亚洲视频| 欧美视频日韩视频在线观看| 国产日韩精品一区二区浪潮av| 亚洲一区二区三区影院| 粉嫩一区二区三区性色av| 91精品国产综合久久蜜臀| 亚洲三级免费电影| 国产精品综合视频| 欧美一区中文字幕| 亚洲美女电影在线| 成人高清免费在线播放| 日韩欧美一级二级三级| 亚洲国产婷婷综合在线精品| 本田岬高潮一区二区三区| 日韩亚洲欧美高清| 五月激情六月综合| 在线免费观看视频一区| 国产精品美女久久久久av爽李琼| 久久超碰97中文字幕| 777精品伊人久久久久大香线蕉| 一区二区三区在线不卡| 成人av动漫网站| 亚洲国产精品ⅴa在线观看| 麻豆精品精品国产自在97香蕉| 欧美三区免费完整视频在线观看| 亚洲人123区| 91亚洲大成网污www| 中文字幕免费在线观看视频一区| 国产九色sp调教91| 久久一日本道色综合| 九九视频精品免费| 欧美电影免费观看高清完整版在线 | 精品在线视频一区| 日韩女优制服丝袜电影| 美女视频一区二区| 欧美大胆一级视频| 韩国成人在线视频| 久久精品人人做人人综合| 久久www免费人成看片高清| 精品日韩av一区二区| 国产麻豆精品视频| 国产精品国产三级国产aⅴ原创| 国产91对白在线观看九色| 亚洲国产精品高清| 91美女在线视频| 亚洲午夜精品在线| 欧美人妇做爰xxxⅹ性高电影 | 激情五月婷婷综合网| 精品国产一二三| 国产成人鲁色资源国产91色综| 久久免费偷拍视频| av亚洲产国偷v产偷v自拍| 亚洲精品videosex极品| 欧美三级午夜理伦三级中视频| 日产国产欧美视频一区精品| 日韩丝袜美女视频| 国产精品亚洲专一区二区三区| 国产精品久久国产精麻豆99网站| 色婷婷久久综合| 欧美aaa在线| 亚洲国产高清aⅴ视频| 色婷婷一区二区| 理论电影国产精品| 成人欧美一区二区三区黑人麻豆| 色狠狠色狠狠综合| 精品一区精品二区高清| 国产精品国产三级国产aⅴ原创 |