viewmenu.java

来自「world wind java sdk 源码」· Java 代码 · 共 92 行

JAVA
92
字号
/*Copyright (C) 2001, 2008 United States Governmentas represented by the Administrator of theNational Aeronautics and Space Administration.All Rights Reserved.*/package gov.nasa.worldwind.applications.sar;import gov.nasa.worldwind.WorldWindow;import gov.nasa.worldwind.render.Renderable;import gov.nasa.worldwind.layers.*;import javax.swing.*;import java.awt.event.*;/** * @author jparsons * @version $Id$ */public class ViewMenu extends JMenu{    private WorldWindow wwd;    public ViewMenu()    {        super("View");    }    public void setWwd(WorldWindow wwdInstance)    {        this.wwd = wwdInstance;        for (Layer layer : wwd.getModel().getLayers())        {            if (isAbstractLayerMenuItem(layer))            {                JCheckBoxMenuItem mi = new JCheckBoxMenuItem(new LayerVisibilityAction(wwd, layer));                mi.setState(layer.isEnabled());                this.add(mi);            }        }        // Cloud ceiling contour        JMenuItem mi = new JMenuItem("Cloud Contour...");        mi.addActionListener(new ActionListener()        {            public void actionPerformed(ActionEvent event)            {                wwd.firePropertyChange(CloudCeilingPanel.CLOUD_CEILING_OPEN, null, null);            }        });        this.add(mi);    }    private boolean isAbstractLayerMenuItem(Layer layer)    {        if (layer instanceof RenderableLayer)  //detect PlaneModel layer        {            Iterable<Renderable> iter = ((RenderableLayer)layer).getRenderables();            for (Renderable rend: iter)            {                if (rend instanceof gov.nasa.worldwind.applications.sar.PlaneModel)                    return true;            }        }        return ((layer instanceof ScalebarLayer                || layer instanceof CrosshairLayer                || layer instanceof CompassLayer));      }    private static class LayerVisibilityAction extends AbstractAction    {        private final Layer layer;        private final WorldWindow wwd;        public LayerVisibilityAction(WorldWindow wwd, Layer layer)        {            super(layer.getName());            this.layer = layer;            this.wwd = wwd;        }        public void actionPerformed(ActionEvent actionEvent)        {            layer.setEnabled(((JCheckBoxMenuItem) actionEvent.getSource()).getState());            //menu.doClick(0); // keep layer menu open            this.wwd.redraw();        }    }}

⌨️ 快捷键说明

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