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 + -
显示快捷键?