sar2.java
来自「world wind java sdk 源码」· Java 代码 · 共 990 行 · 第 1/3 页
JAVA
990 行
removeTrack.setMnemonic('C'); removeTrack.setAccelerator(KeyStroke.getKeyStroke( Configuration.isMacOS() ? KeyEvent.VK_W : KeyEvent.VK_F4, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); removeTrack.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { removeTrack(getCurrentTrack(), false); } }); fileMenu.add(removeTrack); //-------- fileMenu.addSeparator(); //---- "Save Track" ---- JMenuItem saveTrack = new JMenuItem(); saveTrack.setText("Save Track"); saveTrack.setMnemonic('S'); saveTrack.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); saveTrack.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { // Show a save track dialog that won't prompt the user // to choose a location unless it has to. saveTrack(getCurrentTrack(), true); } }); fileMenu.add(saveTrack); //---- "Save Track As..." ---- JMenuItem saveTrackAs = new JMenuItem(); saveTrackAs.setText("Save Track As..."); saveTrackAs.setMnemonic('A'); saveTrackAs.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask() + java.awt.Event.SHIFT_MASK)); saveTrackAs.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { // Show a save track dialog that will always // prompt the user to choose a location. saveTrack(getCurrentTrack(), true); } }); fileMenu.add(saveTrackAs); //-------- fileMenu.addSeparator(); JMenuItem bulkDownload = new JMenuItem(); bulkDownload.setText("Bulk download..."); bulkDownload.setMnemonic('B'); bulkDownload.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_B, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); bulkDownload.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { // Bring the bulk download frame up bulkDownload(); } }); fileMenu.add(bulkDownload); //-------- fileMenu.addSeparator(); //---- urlTrackFetch1 ---- JMenuItem urlTrackFetch1 = new JMenuItem(); urlTrackFetch1.setText("PipeTrackTest.gpx"); urlTrackFetch1.setActionCommand("http://worldwind.arc.nasa.gov/java/apps/SARApp/PipeTrackTest.xml"); urlTrackFetch1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { newTrackFromURL(e.getActionCommand(), null); } }); fileMenu.add(urlTrackFetch1); //---- urlTrackFetch2 ---- JMenuItem urlTrackFetch2 = new JMenuItem(); urlTrackFetch2.setText("PipeTracks2.gpx"); urlTrackFetch2.setActionCommand("http://worldwind.arc.nasa.gov/java/apps/SARApp/PipeTracks2.xml"); urlTrackFetch2.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { newTrackFromURL(e.getActionCommand(), null); } }); fileMenu.add(urlTrackFetch2); //---- urlTrackFetch3 ---- JMenuItem urlTrackFetch3 = new JMenuItem(); urlTrackFetch3.setText("PipeTracks3.gpx"); urlTrackFetch3.setActionCommand("http://worldwind.arc.nasa.gov/java/apps/SARApp/PipeTracks3.xml"); urlTrackFetch3.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { newTrackFromURL(e.getActionCommand(), null); } }); fileMenu.add(urlTrackFetch3); if (!Configuration.isMacOS()) { //-------- fileMenu.addSeparator(); JMenuItem exit = new JMenuItem(); exit.setText("Exit"); exit.setMnemonic('X'); exit.setAccelerator(KeyStroke.getKeyStroke("alt F4")); exit.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { exit(); } }); fileMenu.add(exit); } else { try { OSXAdapter.setQuitHandler(this, getClass().getDeclaredMethod("exit", (Class[]) null)); } catch (Exception e) { e.printStackTrace(); } } } menuBar.add(fileMenu); //======== "View" ======== JMenu unitsMenu = new JMenu(); { unitsMenu.setText("Units"); unitsMenu.setMnemonic('U'); //---- "Meters" ---- metersMenuItem = new JCheckBoxMenuItem(); metersMenuItem.setText("Meters"); metersMenuItem.setMnemonic('M'); metersMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_M, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); metersMenuItem.setActionCommand(UNIT_METRIC); metersMenuItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { setElevationUnit(e.getActionCommand()); } }); unitsMenu.add(metersMenuItem); //---- "Feet" ---- feetMenuItem = new JCheckBoxMenuItem(); feetMenuItem.setText("Feet"); feetMenuItem.setMnemonic('F'); feetMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_M, java.awt.event.InputEvent.ALT_MASK)); feetMenuItem.setActionCommand(UNIT_IMPERIAL); feetMenuItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { setElevationUnit(e.getActionCommand()); } }); unitsMenu.add(feetMenuItem); ButtonGroup unitGroup = new ButtonGroup(); unitGroup.add(metersMenuItem); unitGroup.add(feetMenuItem); unitsMenu.addSeparator(); //---- "Angle DD" ---- angleDDMenuItem = new JCheckBoxMenuItem(); angleDDMenuItem.setText("Angles DD"); angleDDMenuItem.setMnemonic('D'); angleDDMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_D, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); angleDDMenuItem.setActionCommand(Angle.ANGLE_FORMAT_DD); angleDDMenuItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { setAngleFormat(e.getActionCommand()); } }); unitsMenu.add(angleDDMenuItem); //---- "Angle DMS" ---- angleDMSMenuItem = new JCheckBoxMenuItem(); angleDMSMenuItem.setText("Angles DMS"); angleDMSMenuItem.setMnemonic('S'); angleDMSMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_D, java.awt.event.InputEvent.ALT_MASK)); angleDMSMenuItem.setActionCommand(Angle.ANGLE_FORMAT_DMS); angleDMSMenuItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { setAngleFormat(e.getActionCommand()); } }); unitsMenu.add(angleDMSMenuItem); ButtonGroup formatGroup = new ButtonGroup(); formatGroup.add(angleDDMenuItem); formatGroup.add(angleDMSMenuItem); } menuBar.add(unitsMenu); //======== "Annotation" ======== JMenu annotationMenu = new JMenu(); { annotationMenu.setText("Annotation"); annotationMenu.setMnemonic('A'); //---- "New Annotation..." ---- JMenuItem newAnnotation = new JMenuItem(); newAnnotation.setText("New Annotation..."); newAnnotation.setMnemonic('N'); newAnnotation.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); newAnnotation.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { newAnnotation(); } }); annotationMenu.add(newAnnotation); //---- "Remove Annotation" ---- JMenuItem removeAnnotation = new JMenuItem(); removeAnnotation.setText("Remove Annotation"); removeAnnotation.setMnemonic('R'); removeAnnotation.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask() + java.awt.Event.SHIFT_MASK)); removeAnnotation.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { removeAnnotation(getCurrentAnnotation()); } }); annotationMenu.add(removeAnnotation); //---- "Show Annotations" ---- JCheckBoxMenuItem showAnnotations = new JCheckBoxMenuItem(); showAnnotations.setText("Show Annotations"); showAnnotations.setMnemonic('S'); showAnnotations.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A, java.awt.event.InputEvent.ALT_MASK)); showAnnotations.setSelected(true); showAnnotations.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { setAnnotationsEnabled(e.getStateChange() == ItemEvent.SELECTED); } }); annotationMenu.add(showAnnotations); } menuBar.add(annotationMenu); //======== "View Menu" ======== viewLayerMenu = new ViewMenu(); { viewLayerMenu.setMnemonic('V'); } menuBar.add(viewLayerMenu); //======== "Layers" ======== layerMenu = new LayerMenu(); { layerMenu.setMnemonic('L'); } menuBar.add(layerMenu); //======== "Help" ======== JMenu helpMenu = new JMenu(); { helpMenu.setText("Help"); helpMenu.setMnemonic('H'); //---- "Search and Rescue Help" ---- JMenuItem sarHelp = new JMenuItem(); sarHelp.setText("Search and Rescue Help"); sarHelp.setMnemonic('H'); if (!Configuration.isMacOS()) sarHelp.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F1, 0)); else sarHelp.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_HELP, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); sarHelp.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { showHelp(); } }); helpMenu.add(sarHelp); //---- "About [World Wind Search and Rescue Prototype]" ---- if (!Configuration.isMacOS()) { JMenuItem about = new JMenuItem(); about.setText("About"); about.setMnemonic('A'); about.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { showAbout(); } }); helpMenu.add(about); } else { try { OSXAdapter.setAboutHandler(this, getClass().getDeclaredMethod("showAbout", (Class[]) null)); } catch (Exception e) { e.printStackTrace(); } } } menuBar.add(helpMenu); } setJMenuBar(menuBar); pack(); centerWindowInDesktop(this); } public static String formatAngle(String format, Angle angle) { String s; if (Angle.ANGLE_FORMAT_DMS.equals(format)) s = angle.toDMSString(); else s = String.format("%7.4f\u00B0", angle.degrees); return s; }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?