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

📄 installeddata.java

📁 world wind java sdk 源码
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
/*Copyright (C) 2001, 2008 United States Government as represented bythe Administrator of the National Aeronautics and Space Administration.All Rights Reserved.*/package gov.nasa.worldwind.examples;import gov.nasa.worldwind.*;import gov.nasa.worldwind.avlist.*;import gov.nasa.worldwind.data.*;import gov.nasa.worldwind.geom.*;import gov.nasa.worldwind.globes.*;import gov.nasa.worldwind.layers.*;import gov.nasa.worldwind.terrain.*;import gov.nasa.worldwind.util.*;import gov.nasa.worldwind.view.*;import javax.swing.*;import javax.swing.border.*;import javax.swing.event.*;import javax.swing.filechooser.*;import java.awt.*;import java.awt.event.*;import java.beans.PropertyChangeEvent;import java.util.Hashtable;/** * @author dcollins * @version $Id: InstalledData.java 9411 2009-03-16 21:03:25Z tgaskins $ */public class InstalledData extends ApplicationTemplate{    public static final String DATA_SOURCE_DESCRIPTOR = "DataSourceDescriptor";    public static final String ACTION_COMMAND_VERTICAL_EXAGGERATION = "ActionCommandVerticalExaggeration";    public static class AppFrame extends ApplicationTemplate.AppFrame    {        private Controller controller;        private LayerPanel layerPanel;        private InstalledDataPanel installedDataPanel;        private JFileChooser installDataFileChooser;        public AppFrame()        {            super(true, false, false);            this.controller = new Controller(this);            this.makeComponents();            this.makeDataFileChoosers();            this.layoutComponents();            this.controller.refreshInstalled();        }        public Controller getController()        {            return this.controller;        }        public LayerPanel getLayerPanel()        {            return this.layerPanel;        }        public InstalledDataPanel getInstalledDataPanel()        {            return this.installedDataPanel;        }        public JFileChooser getInstallDataFileChooser()        {            return this.installDataFileChooser;        }        private void makeDataFileChoosers()        {            DataStoreProducerFilter filter = new TiledRasterProducerFilter(TiledImageProducer.class);            this.installDataFileChooser.addChoosableFileFilter(filter);            filter = new TiledRasterProducerFilter(TiledElevationProducer.class);            this.installDataFileChooser.addChoosableFileFilter(filter);            filter = new DataStoreProducerFilter(WWDotNetLayerSetInstaller.class);            this.installDataFileChooser.addChoosableFileFilter(filter);                    }        private void makeComponents()        {            WorldWindow wwd = this.getWwd();            ElevationModel defaultModel = wwd.getModel().getGlobe().getElevationModel();            CompoundElevationModel compoundModel = new CompoundElevationModel();            compoundModel.addElevationModel(defaultModel);            wwd.getModel().getGlobe().setElevationModel(compoundModel);            this.layerPanel = new LayerPanel(wwd);            this.installedDataPanel = new InstalledDataPanel();            this.installedDataPanel.addActionListener(this.controller);            this.installedDataPanel.getPropertiesButton().setEnabled(false);            this.installDataFileChooser = new JFileChooser();            this.installDataFileChooser.setMultiSelectionEnabled(true);            this.installDataFileChooser.setAcceptAllFileFilterUsed(false);        }        private void layoutComponents()        {            JPanel panel = new JPanel(new BorderLayout());            {                panel.setBorder(new EmptyBorder(10, 0, 10, 0));                JPanel controlPanel = new JPanel(new BorderLayout(0, 10));                controlPanel.setBorder(new EmptyBorder(20, 10, 20, 10));                JPanel vePanel = new JPanel(new BorderLayout(0, 5));                {                    JLabel label = new JLabel("Vertical Exaggeration");                    vePanel.add(label, BorderLayout.NORTH);                    int MIN_VE = 1;                    int MAX_VE = 8;                    int curVe = (int) this.getWwd().getSceneController().getVerticalExaggeration();                    curVe = curVe < MIN_VE ? MIN_VE : (curVe > MAX_VE ? MAX_VE : curVe);                    JSlider slider = new JSlider(MIN_VE, MAX_VE, curVe);                    slider.setMajorTickSpacing(1);                    slider.setPaintTicks(true);                    slider.setSnapToTicks(true);                    Hashtable<Integer, JLabel> labelTable = new Hashtable<Integer, JLabel>();                    labelTable.put(1, new JLabel("1x"));                    labelTable.put(2, new JLabel("2x"));                    labelTable.put(4, new JLabel("4x"));                    labelTable.put(8, new JLabel("8x"));                    slider.setLabelTable(labelTable);                    slider.setPaintLabels(true);                    slider.addChangeListener(new ChangeListener()                    {                        public void stateChanged(ChangeEvent e)                        {                            double ve = ((JSlider) e.getSource()).getValue();                            ActionEvent ae = new ActionEvent(ve, 0, ACTION_COMMAND_VERTICAL_EXAGGERATION);                            controller.actionPerformed(ae);                        }                    });                    vePanel.add(slider, BorderLayout.SOUTH);                }                controlPanel.add(vePanel, BorderLayout.SOUTH);                controlPanel.add(vePanel, BorderLayout.SOUTH);                panel.add(controlPanel, BorderLayout.SOUTH);                this.layerPanel = new LayerPanel(this.getWwd(), null);                panel.add(this.layerPanel, BorderLayout.CENTER);            }            this.getContentPane().add(panel, BorderLayout.WEST);            this.getContentPane().add(this.installedDataPanel, BorderLayout.SOUTH);        }    }    public static class DataStoreProducerFilter extends FileFilter    {        private Class<? extends DataStoreProducer> producerClass;        private AVList parameters;        public DataStoreProducerFilter(Class<? extends DataStoreProducer> producerClass, AVList parameters)        {            this.producerClass = producerClass;            this.parameters = parameters;        }        public DataStoreProducerFilter(Class<? extends DataStoreProducer> producerClass)        {            this.producerClass = producerClass;            this.parameters = new AVListImpl();        }        public DataStoreProducer createProducer() throws Exception        {            return this.producerClass.newInstance();        }        public Class<? extends DataStoreProducer> getProducerClass()        {            return this.producerClass;        }        public AVList getParameters()        {            return this.parameters;        }        public boolean accept(java.io.File f)        {            //noinspection SimplifiableIfStatement            if (f.isDirectory())                return true;            DataStoreProducer producer;            try            {                producer = this.createProducer();            }            catch (Exception e)            {                Logging.logger().log(java.util.logging.Level.SEVERE, "ExceptionCreatingProducer", e);                return false;            }            DataSource source = new BasicDataSource(f);            return producer.acceptsDataSource(source);        }        public String getDescription()        {            DataStoreProducer producer;            try            {                producer = this.createProducer();            }            catch (Exception e)            {                Logging.logger().log(java.util.logging.Level.SEVERE, "ExceptionCreatingProducer", e);                return null;            }            return producer.getDataSourceDescription();        }        public Object showControls(java.awt.Component component, java.io.File[] selectedFiles)        {            return this;        }    }    public static class TiledRasterProducerFilter extends DataStoreProducerFilter    {        public TiledRasterProducerFilter(Class<? extends DataStoreProducer> producerClass, AVList parameters)        {            super(producerClass, parameters);        }        public TiledRasterProducerFilter(Class<? extends DataStoreProducer> producerClass)        {            super(producerClass);        }        public Object showControls(java.awt.Component component, java.io.File[] selectedFiles)        {            Object o = JOptionPane.showInputDialog(component, "Name:", null, JOptionPane.QUESTION_MESSAGE, null, null,                "New Data Set");            if (o == null)                return null;            this.getParameters().setValue(AVKey.DATASET_NAME, o.toString());            this.getParameters().setValue(AVKey.DATA_CACHE_NAME, o.toString());            return o;        }    }    public static class Controller implements ActionListener    {        private AppFrame appFrame;        public Controller(AppFrame appFrame)        {            this.appFrame = appFrame;        }        public AppFrame getAppFrame()        {            return this.appFrame;        }        public void actionPerformed(ActionEvent event)        {            if (InstalledDataPanel.REFRESH_ACTION_COMMAND.equals(event.getActionCommand()))            {                this.refreshInstalled();            }            else if (InstalledDataPanel.INSTALL_ACTION_COMMAND.equals(event.getActionCommand()))            {                this.selectAndInstall();            }            else if (InstalledDataPanel.UNINSTALL_ACTION_COMMAND.equals(event.getActionCommand()))

⌨️ 快捷键说明

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