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

📄 dtedlayer.java

📁 openmap java写的开源数字地图程序. 用applet实现,可以像google map 那样放大缩小地图.
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
                    + ") being told to set slope adjustment to invalid value ("                    + sa + "), must be 1-5");        }    }    /**     * Get the value set for which DTED level is being used, 0-2.     */    public int getDtedLevel() {        return dtedLevel;    }    public void setDtedLevel(int level) {        dtedLevel = level;    }    /**     * Get the opaqueness value used for the images, 0-255.     */    public int getOpaqueness() {        return opaqueness;    }    public void setOpaqueness(int o) {        if (o >= 0) {            opaqueness = o;            if (cache != null) {                cache.setOpaqueness(opaqueness);            }        }    }    /**     * Get whether the cache will be killed when the layer is removed     * from the map.     */    public boolean getKillCache() {        return killCache;    }    public void setKillCache(boolean kc) {        killCache = kc;    }    /**     * Get the cache size, or how many DTED frames are held in memory.     */    public int getCacheSize() {        return cacheSize;    }    public void setCacheSize(int cs) {        if (cs > 0) {            cacheSize = cs;        } else {            Debug.output("DTEDLayer (" + getName()                    + ") being told to set cache size to invalid value (" + cs                    + ").");        }    }    /**     * Get the number of colors used in the DTED images.     */    public int getNumColors() {        return numColors;    }    public void setNumColors(int nc) {        if (nc > 0) {            numColors = nc;            if (cache != null) {                cache.setNumColors(numColors);            }        }    }    //----------------------------------------------------------------------    // GUI    //----------------------------------------------------------------------    /** The user interface palette for the DTED layer. */    protected Box palette = null;    /** Creates the interface palette. */    public java.awt.Component getGUI() {        if (palette == null) {            if (Debug.debugging("dted"))                Debug.output("DTEDLayer: creating DTED Palette.");            palette = Box.createVerticalBox();            Box subbox1 = Box.createHorizontalBox();            Box subbox2 = Box.createVerticalBox();            Box subbox3 = Box.createHorizontalBox();            //          palette = new JPanel();            //          palette.setLayout(new GridLayout(0, 1));            // The DTED Level selector            JPanel levelPanel = PaletteHelper.createPaletteJPanel("DTED Level");            ButtonGroup levels = new ButtonGroup();            ActionListener al = new ActionListener() {                public void actionPerformed(ActionEvent e) {                    if (cache != null) {                        String ac = e.getActionCommand();                        int newLevel;                        if (ac.equalsIgnoreCase(level2Command))                            newLevel = DTEDFrameSubframe.LEVEL_2;                        else if (ac.equalsIgnoreCase(level1Command))                            newLevel = DTEDFrameSubframe.LEVEL_1;                        else                            newLevel = DTEDFrameSubframe.LEVEL_0;                        DTEDFrameSubframeInfo dfsi = cache.getSubframeInfo();                        dfsi.dtedLevel = newLevel;                        //                      cache.setSubframeInfo(dfsi);                    }                }            };            JRadioButton level0 = new JRadioButton("Level 0");            level0.addActionListener(al);            level0.setActionCommand(level0Command);            JRadioButton level1 = new JRadioButton("Level 1");            level1.addActionListener(al);            level1.setActionCommand(level1Command);            JRadioButton level2 = new JRadioButton("Level 2");            level2.addActionListener(al);            level2.setActionCommand(level2Command);            levels.add(level0);            levels.add(level1);            levels.add(level2);            switch (dtedLevel) {            case 2:                level2.setSelected(true);                break;            case 1:                level1.setSelected(true);                break;            case 0:            default:                level0.setSelected(true);            }            levelPanel.add(level0);            levelPanel.add(level1);            levelPanel.add(level2);            // The DTED view selector            JPanel viewPanel = PaletteHelper.createPaletteJPanel("View Type");            String[] viewStrings = { "None", "Shading", "Elevation Shading",                    "Elevation Bands (Meters)", "Elevation Bands (Feet)" };            JComboBox viewList = new JComboBox(viewStrings);            viewList.addActionListener(new ActionListener() {                public void actionPerformed(ActionEvent e) {                    JComboBox jcb = (JComboBox) e.getSource();                    int newView = jcb.getSelectedIndex();                    switch (newView) {                    case 0:                        viewType = DTEDFrameSubframe.NOSHADING;                        break;                    case 1:                        viewType = DTEDFrameSubframe.SLOPESHADING;                        break;                    case 2:                        viewType = DTEDFrameSubframe.COLOREDSHADING;                        break;                    case 3:                        viewType = DTEDFrameSubframe.METERSHADING;                        break;                    case 4:                        viewType = DTEDFrameSubframe.FEETSHADING;                        break;                    default:                        viewType = DTEDFrameSubframe.NOSHADING;                    }                    if (cache != null) {                        DTEDFrameSubframeInfo dfsi = cache.getSubframeInfo();                        dfsi.viewType = viewType;                        //                      cache.setSubframeInfo(dfsi);                    }                }            });            int selectedView;            switch (viewType) {            case 0:            case 1:                selectedView = viewType;                break;            case 2:            case 3:                selectedView = viewType + 1;                break;            case 4:                // This puts the layer in testing mode, and the menu                // changes.                String[] viewStrings2 = { "None", "Shading",                        "Elevation Bands (Meters)", "Elevation Bands (Feet)",                        "Subframe Testing", "Elevation Shading" };                viewList = new JComboBox(viewStrings2);                viewList.addActionListener(new ActionListener() {                    public void actionPerformed(ActionEvent e) {                        JComboBox jcb = (JComboBox) e.getSource();                        int newView = jcb.getSelectedIndex();                        if (cache != null) {                            DTEDFrameSubframeInfo dfsi = cache.getSubframeInfo();                            dfsi.viewType = newView;                            //                          cache.setSubframeInfo(dfsi);                        }                    }                });                selectedView = viewType;                break;            case 5:                selectedView = 2; //DTEDFrameSubframe.COLOREDSHADING                break;            default:                selectedView = DTEDFrameSubframe.NOSHADING;            }            viewList.setSelectedIndex(selectedView);            viewPanel.add(viewList);            // The DTED Contrast Adjuster            JPanel contrastPanel = PaletteHelper.createPaletteJPanel("Contrast Adjustment");            JSlider contrastSlide = new JSlider(JSlider.HORIZONTAL, 1/* min */, 5/* max */, slopeAdjust/* inital */);            java.util.Hashtable dict = new java.util.Hashtable();            dict.put(new Integer(1), new JLabel("min"));            dict.put(new Integer(5), new JLabel("max"));            contrastSlide.setLabelTable(dict);            contrastSlide.setPaintLabels(true);            contrastSlide.setMajorTickSpacing(1);            contrastSlide.setPaintTicks(true);            contrastSlide.setSnapToTicks(true);            contrastSlide.addChangeListener(new ChangeListener() {                public void stateChanged(ChangeEvent ce) {                    JSlider slider = (JSlider) ce.getSource();                    if (slider.getValueIsAdjusting()) {                        fireRequestInfoLine(getName()                                + " - Contrast Slider value = "                                + slider.getValue());                        slopeAdjust = slider.getValue();                        if (cache != null) {                            DTEDFrameSubframeInfo dfsi = cache.getSubframeInfo();                            dfsi.slopeAdjust = slopeAdjust;                            //                          cache.setSubframeInfo(dfsi);                        }                    }                }            });            contrastPanel.add(contrastSlide);            // The DTED Band Height Adjuster            JPanel bandPanel = PaletteHelper.createPaletteJPanel("Band Elevation Spacing");            JSlider bandSlide = new JSlider(JSlider.HORIZONTAL, 0/* min */, 1000/* max */, bandHeight/* inital */);            bandSlide.setLabelTable(bandSlide.createStandardLabels(250));            bandSlide.setPaintLabels(true);            bandSlide.setMajorTickSpacing(250);            bandSlide.setMinorTickSpacing(50);            bandSlide.setPaintTicks(true);            bandSlide.addChangeListener(new ChangeListener() {                public void stateChanged(ChangeEvent ce) {                    JSlider slider = (JSlider) ce.getSource();                    if (slider.getValueIsAdjusting()) {                        fireRequestInfoLine(getName()                                + " - Band Slider value = " + slider.getValue());                        bandHeight = slider.getValue();                        if (cache != null) {                            DTEDFrameSubframeInfo dfsi = cache.getSubframeInfo();                            dfsi.bandHeight = bandHeight;                            //                          cache.setSubframeInfo(dfsi);                        }                    }                }            });            bandPanel.add(bandSlide);            JButton redraw = new JButton("Redraw DTED Layer");            redraw.setActionCommand(RedrawCmd);            redraw.addActionListener(this);            subbox1.add(levelPanel);            subbox1.add(viewPanel);            palette.add(subbox1);            subbox2.add(contrastPanel);            subbox2.add(bandPanel);            palette.add(subbox2);            subbox3.add(redraw);            palette.add(subbox3);        }        return palette;    }    //----------------------------------------------------------------------    // ActionListener interface implementation    //----------------------------------------------------------------------    /**     * Used just for the redraw button.     */    public void actionPerformed(ActionEvent e) {        super.actionPerformed(e);        if (e.getActionCommand() == RedrawCmd) {            doPrepare();        }    }    //----------------------------------------------------------------------    // MapMouseListener interface implementation    //----------------------------------------------------------------------    public MapMouseListener getMapMouseListener() {        return this;    }    public String[] getMouseModeServiceList() {        String[] services = { SelectMouseMode.modeID };        return services;    }    public boolean mousePressed(MouseEvent e) {        return false;    }    public boolean mouseReleased(MouseEvent e) {        Projection projection = getProjection();        LatLonPoint ll = projection.inverse(e.getX(), e.getY());        location = new DTEDLocation(e.getX(), e.getY());        location.setElevation(cache.getElevation(ll.getLatitude(),                ll.getLongitude()));        location.generate(projection);        repaint();        return true;    }    public boolean mouseClicked(MouseEvent e) {        return false;    }    public void mouseEntered(MouseEvent e) {}    public void mouseExited(MouseEvent e) {}    public boolean mouseDragged(MouseEvent e) {        return false;    }    public boolean mouseMoved(MouseEvent e) {        return false;    }    public void mouseMoved() {}}

⌨️ 快捷键说明

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