layermenu.java
来自「world wind java sdk 源码」· Java 代码 · 共 99 行
JAVA
99 行
/*Copyright (C) 2001, 2007 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.layers.*;import gov.nasa.worldwind.layers.Earth.*;import gov.nasa.worldwind.render.*;import javax.swing.*;import java.awt.event.*;/** * @author tag * @version $Id: LayerMenu.java 8949 2009-02-21 01:31:30Z jparsons $ */public class LayerMenu extends JMenu{ private WorldWindow wwd; public LayerMenu() { super("Layers"); } public WorldWindow getWwd() { return wwd; } public void setWwd(WorldWindow wwd) { this.wwd = wwd; for (Layer layer : this.wwd.getModel().getLayers()) { if (isLayerMenuItem(layer)) { JCheckBoxMenuItem mi = new JCheckBoxMenuItem(new LayerVisibilityAction(this.wwd, layer, this)); mi.setState(layer.isEnabled()); this.add(mi); } } } private boolean isLayerMenuItem(Layer layer) { if (layer instanceof RenderableLayer) //detect surface image layers { Iterable<Renderable> iter = ((RenderableLayer)layer).getRenderables(); for (Renderable rend: iter) { if (rend instanceof SurfaceImage) return true; } return false; } return ((layer instanceof TiledImageLayer) && !(layer instanceof BMNGWMSLayer)); } private static class LayerVisibilityAction extends AbstractAction { private final Layer layer; private final WorldWindow wwd; private final LayerMenu menu; public LayerVisibilityAction(WorldWindow wwd, Layer layer, LayerMenu menu) { super(layer.getName()); this.layer = layer; this.wwd = wwd; this.menu = menu; } public void actionPerformed(ActionEvent actionEvent) { layer.setEnabled(((JCheckBoxMenuItem) actionEvent.getSource()).getState()); if (layer instanceof BMNGOneImage) //toggle other BMNG layers { for (Layer lyr : this.wwd.getModel().getLayers()) { if (lyr instanceof BMNGWMSLayer) lyr.setEnabled(((JCheckBoxMenuItem) actionEvent.getSource()).getState()); } } menu.doClick(0); // keep layer menu open this.wwd.redraw(); } }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?