Java Code Examples for java.awt.event.KeyEvent#VK_O
The following examples show how to use
java.awt.event.KeyEvent#VK_O .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: JDA.java From java-disassembler with GNU General Public License v3.0 | 6 votes |
/** * Checks the hotkeys */ public static void checkHotKey(KeyEvent e) { if ((e.getKeyCode() == KeyEvent.VK_O) && isCtrlDown(e)) { openFileChooser(); } else if ((e.getKeyCode() == KeyEvent.VK_N) && isCtrlDown(e)) { JDA.resetWorkSpace(true); } else if ((e.getKeyCode() == KeyEvent.VK_R) && isCtrlDown(e) && isShiftDown(e)) { viewer.reloadResources(); } else if ((e.getKeyCode() == KeyEvent.VK_R) && isCtrlDown(e)) { viewer.refreshView(); } else if ((e.getKeyCode() == KeyEvent.VK_W) && isCtrlDown(e) && isShiftDown(e)) { JDA.closeResources(true); } else if ((e.getKeyCode() == KeyEvent.VK_W) && isCtrlDown(e)) { if (viewer.fileViewerPane.getCurrentViewer() != null) viewer.fileViewerPane.tabs.remove(viewer.fileViewerPane.getCurrentViewer()); } else if ((e.getKeyCode() == KeyEvent.VK_F) && isCtrlDown(e) && isShiftDown(e)) { viewer.doSearchDialog(); } }
Example 2
Source File: CropTool.java From Pixelitor with GNU General Public License v3.0 | 6 votes |
@Override public void otherKeyPressed(KeyEvent e) { if (e.getKeyCode() == KeyEvent.VK_ENTER) { executeCropCommand(); e.consume(); } else if (e.getKeyCode() == KeyEvent.VK_O) { if (e.isControlDown()) { // ignore Ctrl-O see issue #81 return; } if (e.isShiftDown()) { // Shift-O: change the orientation // within the current composition guide family if (state == TRANSFORM) { int o = compositionGuide.getOrientation(); compositionGuide.setOrientation(o + 1); OpenImages.repaintActive(); e.consume(); } } else { // O: advance to the next composition guide selectTheNextCompositionGuide(); e.consume(); } } }
Example 3
Source File: MainScreen.java From open-ig with GNU Lesser General Public License v3.0 | 6 votes |
@Override public boolean keyboard(KeyEvent e) { if (e.getKeyCode() == KeyEvent.VK_ESCAPE) { if (languagePanel.visible()) { languagePanel.visible(false); return true; } } else if (e.getKeyChar() == 'l' || e.getKeyChar() == 'L') { if (!languagePanel.visible()) { languagePanel.visible(true); return true; } } else if (e.getKeyCode() == KeyEvent.VK_O) { doSettings(); } return super.keyboard(e); }
Example 4
Source File: Treeline.java From TrakEM2 with GNU General Public License v3.0 | 5 votes |
@Override public void keyPressed(final KeyEvent ke) { if (isTagging()) { super.keyPressed(ke); return; } final int tool = ProjectToolbar.getToolId(); try { if (ProjectToolbar.PEN == tool) { final Object origin = ke.getSource(); if (! (origin instanceof DisplayCanvas)) { ke.consume(); return; } final DisplayCanvas dc = (DisplayCanvas)origin; final Layer layer = dc.getDisplay().getLayer(); final Point p = dc.getCursorLoc(); // as offscreen coords switch (ke.getKeyCode()) { case KeyEvent.VK_O: if (askAdjustRadius(p.x, p.y, layer, dc.getMagnification())) { ke.consume(); } break; } } } finally { if (!ke.isConsumed()) { super.keyPressed(ke); } } }
Example 5
Source File: DQC.java From javagame with MIT License | 5 votes |
/** * �L�[�������ꂽ�Ƃ��̏��� * */ public void keyReleased(KeyEvent e) { int keyCode = e.getKeyCode(); anyKey.release(); switch (keyCode) { case KeyEvent.VK_DOWN : downKey.release(); break; case KeyEvent.VK_UP : upKey.release(); break; case KeyEvent.VK_LEFT : leftKey.release(); break; case KeyEvent.VK_RIGHT : rightKey.release(); break; case KeyEvent.VK_SPACE: spaceKey.release(); break; case KeyEvent.VK_T: talkKey.release(); break; case KeyEvent.VK_S: searchKey.release(); break; case KeyEvent.VK_O: openKey.release(); break; case KeyEvent.VK_ESCAPE : System.exit(0); } }
Example 6
Source File: DQC.java From javagame with MIT License | 5 votes |
/** * �L�[�������ꂽ�Ƃ��̏��� * */ public void keyPressed(KeyEvent e) { int keyCode = e.getKeyCode(); anyKey.press(); switch (keyCode) { case KeyEvent.VK_DOWN : downKey.press(); break; case KeyEvent.VK_UP : upKey.press(); break; case KeyEvent.VK_LEFT : leftKey.press(); break; case KeyEvent.VK_RIGHT : rightKey.press(); break; case KeyEvent.VK_SPACE: spaceKey.press(); break; case KeyEvent.VK_T: talkKey.press(); break; case KeyEvent.VK_S: searchKey.press(); break; case KeyEvent.VK_O: openKey.press(); break; case KeyEvent.VK_ESCAPE : System.exit(0); } }
Example 7
Source File: FunctionPanel.java From opensim-gui with Apache License 2.0 | 5 votes |
public void keyPressed(KeyEvent e) { if (e.getKeyCode() == KeyEvent.VK_CONTROL) { picking = true; } else if (e.getKeyCode() == KeyEvent.VK_I) { zoomPlot(lastMouseX, lastMouseY, true); } else if (e.getKeyCode() == KeyEvent.VK_O) { zoomPlot(lastMouseX, lastMouseY, false); } else if (e.getKeyCode() == KeyEvent.VK_L || e.getKeyCode() == KeyEvent.VK_R || e.getKeyCode() == KeyEvent.VK_U || e.getKeyCode() == KeyEvent.VK_D) { panPlot(e.getKeyCode()); } else if (e.getKeyCode() == KeyEvent.VK_DELETE) { deleteSelectedNodes(); } }
Example 8
Source File: KeyToggler.java From Any-Angle-Pathfinding with The Unlicense | 4 votes |
@Override public void keyPressed(KeyEvent arg0) { switch(arg0.getKeyCode()) { case KeyEvent.VK_RIGHT : goRight(1, false); break; case KeyEvent.VK_LEFT : goLeft(1, false); break; case KeyEvent.VK_UP : goRight(1, true); break; case KeyEvent.VK_DOWN : goLeft(1, true); break; case KeyEvent.VK_PAGE_UP : goRight(10, false); break; case KeyEvent.VK_PAGE_DOWN : goLeft(10, false); break; case KeyEvent.VK_D : goRight(3, true); break; case KeyEvent.VK_A : goLeft(3, true); break; case KeyEvent.VK_W : goRight(5, true); break; case KeyEvent.VK_S : goLeft(5, true); break; // O: Go right one step + take screenshot, loops around case KeyEvent.VK_O : if (goRight(1, false)) takeSnapShot(); break; // P: Go right one step + take screenshot, stop at end case KeyEvent.VK_P : if (goRight(1, true)) takeSnapShot(); break; // L: Go right multiple steps + take screenshot, stop at end case KeyEvent.VK_L : if (goRight(13, true)) takeSnapShot(); break; // Esc: Close Window case KeyEvent.VK_ESCAPE : System.exit(0); break; } }
Example 9
Source File: MainFrame.java From uima-uimaj with Apache License 2.0 | 4 votes |
/** * Creates the file menu. */ private void createFileMenu() { this.fileMenu = new JMenu("File"); // Standard text file menu items. JMenuItem newTextItem = new JMenuItem("New Text...", KeyEvent.VK_N); newTextItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, ActionEvent.CTRL_MASK)); newTextItem.addActionListener(new NewTextEventHandler(this)); this.fileMenu.add(newTextItem); this.fileMenu.setMnemonic(KeyEvent.VK_F); JMenuItem fileOpen = new JMenuItem("Open Text File", KeyEvent.VK_O); fileOpen.addActionListener(new FileOpenEventHandler(this)); fileOpen.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, ActionEvent.CTRL_MASK)); this.fileMenu.add(fileOpen); this.fileSaveItem = new JMenuItem("Save Text File", KeyEvent.VK_S); this.fileSaveItem.setEnabled(false); this.fileSaveItem.addActionListener(new FileSaveEventHandler(this)); this.fileSaveItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, ActionEvent.CTRL_MASK)); this.fileMenu.add(this.fileSaveItem); JMenuItem fileSaveAsItem = new JMenuItem("Save Text As...", KeyEvent.VK_A); fileSaveAsItem.addActionListener(new FileSaveAsEventHandler(this)); this.fileMenu.add(fileSaveAsItem); createCPMenu(); this.cpMenu.setMnemonic(KeyEvent.VK_P); this.fileMenu.add(this.cpMenu); this.fileMenu.addSeparator(); this.recentTextFileMenu = new JMenu("Recently used ..."); this.recentTextFileMenu.setMnemonic(KeyEvent.VK_U); this.fileMenu.add(this.recentTextFileMenu); this.fileMenu.addSeparator(); // Color preferences JMenuItem colorPrefsOpenItem = new JMenuItem("Load Color Settings", KeyEvent.VK_L); colorPrefsOpenItem.addActionListener(new ColorPrefsOpenHandler(this)); this.fileMenu.add(colorPrefsOpenItem); JMenuItem colorPrefsSaveItem = new JMenuItem("Save Color Settings", KeyEvent.VK_C); colorPrefsSaveItem.addActionListener(new ColorPrefsSaveHandler(this)); this.fileMenu.add(colorPrefsSaveItem); this.fileMenu.addSeparator(); // Reading and writing type system files. this.typeSystemReadItem = new JMenuItem("Read Type System File"); this.typeSystemReadItem.setEnabled(true); this.typeSystemReadItem.addActionListener(new TypeSystemFileOpenEventHandler(this)); this.fileMenu.add(this.typeSystemReadItem); this.typeSystemWriteItem = new JMenuItem("Write Type System File"); this.typeSystemWriteItem.addActionListener(new XCASSaveTSHandler(this)); this.fileMenu.add(this.typeSystemWriteItem); this.fileMenu.addSeparator(); // Reading and writing XMI CAS files. this.xmiCasReadItem = new JMenuItem("Read XMI CAS File"); this.xmiCasReadItem.addActionListener(new XmiCasFileOpenHandler(this)); this.fileMenu.add(this.xmiCasReadItem); this.xmiCasWriteItem = new JMenuItem("Write XMI CAS File"); this.xmiCasWriteItem.addActionListener(new XmiCasSaveHandler(this)); this.fileMenu.add(this.xmiCasWriteItem); this.fileMenu.addSeparator(); // Reading and writing old-style XCAS files. this.xcasReadItem = new JMenuItem("Read XCAS File", KeyEvent.VK_R); this.xcasReadItem.addActionListener(new XCASFileOpenEventHandler(this)); this.fileMenu.add(this.xcasReadItem); this.xcasWriteItem = new JMenuItem("Write XCAS File", KeyEvent.VK_W); this.xcasWriteItem.addActionListener(new XCASSaveHandler(this)); this.fileMenu.add(this.xcasWriteItem); this.fileMenu.addSeparator(); JMenuItem exit = new JMenuItem("Exit", KeyEvent.VK_X); exit.addActionListener(new SystemExitHandler(this)); this.fileMenu.add(exit); // Disable menu items that can't be executed yet. this.typeSystemWriteItem.setEnabled(false); setEnableCasFileReadingAndWriting(); }
Example 10
Source File: OpenAction.java From PIPE with MIT License | 4 votes |
/** * Constructor * @param applicationController Main PIPE application controller * @param fileChooser file dialog responsible for choosing files to load */ public OpenAction(PipeApplicationController applicationController, FileDialog fileChooser) { super("Open", "Open", KeyEvent.VK_O, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()); this.applicationController = applicationController; this.fileChooser = fileChooser; }
Example 11
Source File: GrammarVizView.java From grammarviz2_src with GNU General Public License v2.0 | 4 votes |
/** * Build the application menu bar. */ private void buildMenuBar() { // Build the File menu. // // JMenu fileMenu = new JMenu("File"); fileMenu.setMnemonic(KeyEvent.VK_F); fileMenu.getAccessibleContext().setAccessibleDescription("The file menu"); // Open file item JMenuItem openFileItem = new JMenuItem("Select", KeyEvent.VK_O); openFileItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, ActionEvent.CTRL_MASK)); openFileItem.getAccessibleContext().setAccessibleDescription("Open a data file"); openFileItem.setActionCommand(SELECT_FILE); openFileItem.addActionListener(this); fileMenu.add(openFileItem); // add a separator fileMenu.addSeparator(); // an exit item JMenuItem exitItem = new JMenuItem("Exit", KeyEvent.VK_X); exitItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X, ActionEvent.CTRL_MASK)); exitItem.getAccessibleContext().setAccessibleDescription("Exit from here"); exitItem.addActionListener(this); fileMenu.add(exitItem); // Build the Options menu. // // JMenu settingsMenu = new JMenu("Settings"); settingsMenu.setMnemonic(KeyEvent.VK_S); settingsMenu.getAccessibleContext().setAccessibleDescription("Settings menu"); // an exit item JMenuItem optionsItem = new JMenuItem("GrammarViz options", KeyEvent.VK_P); optionsItem.setActionCommand(OPTIONS_MENU_ITEM); optionsItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P, ActionEvent.CTRL_MASK)); optionsItem.getAccessibleContext().setAccessibleDescription("Options"); optionsItem.addActionListener(this); settingsMenu.add(optionsItem); // Build the About menu. JMenu helpMenu = new JMenu("Help"); helpMenu.setMnemonic(KeyEvent.VK_F1); helpMenu.getAccessibleContext().setAccessibleDescription("Help & About"); // a help item JMenuItem helpItem = new JMenuItem("Help", KeyEvent.VK_H); helpItem.getAccessibleContext().setAccessibleDescription("Get some help here."); exitItem.addActionListener(controller); helpMenu.add(helpItem); // an about item JMenuItem aboutItem = new JMenuItem("About", KeyEvent.VK_A); aboutItem.getAccessibleContext().setAccessibleDescription("About the app."); aboutItem.setActionCommand(ABOUT_MENU_ITEM); aboutItem.addActionListener(this); helpMenu.add(aboutItem); // make sure that controller is connected with Exit item // exitItem.addActionListener(controller); menuBar.add(fileMenu); menuBar.add(settingsMenu); menuBar.add(helpMenu); }
Example 12
Source File: PlotFrame.java From OpenDA with GNU Lesser General Public License v3.0 | 4 votes |
/** Construct a plot frame with the specified title and the specified * instance of PlotBox. After constructing this, it is necessary * to call setVisible(true) to make the plot appear. * @param title The title to put on the window. * @param plotArg the plot object to put in the frame, or null to create * an instance of Plot. */ public PlotFrame(String title, PlotBox plotArg) { super(title); if (plotArg == null) { plot = new Plot(); } else { plot = plotArg; } // Background color is a light grey. plot.setBackground(new Color(0xe5e5e5)); _fileMenu.setMnemonic(KeyEvent.VK_F); _editMenu.setMnemonic(KeyEvent.VK_E); _specialMenu.setMnemonic(KeyEvent.VK_S); // File menu JMenuItem[] fileMenuItems = { new JMenuItem("Open", KeyEvent.VK_O), new JMenuItem("Save", KeyEvent.VK_S), new JMenuItem("Save as....", KeyEvent.VK_A), new JMenuItem("Export", KeyEvent.VK_E), new JMenuItem("Print", KeyEvent.VK_P), new JMenuItem("Close", KeyEvent.VK_C), }; // Open button = ctrl-o. fileMenuItems[0].setAccelerator( KeyStroke.getKeyStroke(KeyEvent.VK_O, Event.CTRL_MASK)); // Save button = ctrl-s. fileMenuItems[1].setAccelerator( KeyStroke.getKeyStroke(KeyEvent.VK_S, Event.CTRL_MASK)); // Print button = ctrl-p. fileMenuItems[4].setAccelerator( KeyStroke.getKeyStroke(KeyEvent.VK_P, Event.CTRL_MASK)); // Close button = ctrl-w. fileMenuItems[5].setAccelerator( KeyStroke.getKeyStroke(KeyEvent.VK_W, Event.CTRL_MASK)); FileMenuListener fml = new FileMenuListener(); // Set the action command and listener for each menu item. for (int i = 0; i < fileMenuItems.length; i++) { fileMenuItems[i].setActionCommand(fileMenuItems[i].getText()); fileMenuItems[i].addActionListener(fml); _fileMenu.add(fileMenuItems[i]); } _menubar.add(_fileMenu); // Edit menu JMenuItem format = new JMenuItem("Format", KeyEvent.VK_F); FormatListener formatListener = new FormatListener(); format.addActionListener(formatListener); _editMenu.add(format); _menubar.add(_editMenu); // Special menu JMenuItem[] specialMenuItems = { new JMenuItem("About", KeyEvent.VK_A), new JMenuItem("Help", KeyEvent.VK_H), new JMenuItem("Clear", KeyEvent.VK_C), new JMenuItem("Fill", KeyEvent.VK_F), new JMenuItem("Reset axes", KeyEvent.VK_R), new JMenuItem("Sample plot", KeyEvent.VK_S), }; SpecialMenuListener sml = new SpecialMenuListener(); // Set the action command and listener for each menu item. for (int i = 0; i < specialMenuItems.length; i++) { specialMenuItems[i].setActionCommand( specialMenuItems[i].getText()); specialMenuItems[i].addActionListener(sml); _specialMenu.add(specialMenuItems[i]); } _menubar.add(_specialMenu); setJMenuBar(_menubar); getContentPane().add(plot, BorderLayout.CENTER); // FIXME: This should not be hardwired in here. setSize(500, 300); // Center. Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize = getSize(); int x = (screenSize.width - frameSize.width) / 2; int y = (screenSize.height - frameSize.height) / 2; setLocation(x, y); }
Example 13
Source File: KeyCodeToChar.java From Repeat with Apache License 2.0 | 4 votes |
private static String getUpperCaseAlphaChar(int code) { switch (code) { case KeyEvent.VK_Q: return "Q"; case KeyEvent.VK_W: return "W"; case KeyEvent.VK_E: return "E"; case KeyEvent.VK_R: return "R"; case KeyEvent.VK_T: return "T"; case KeyEvent.VK_Y: return "Y"; case KeyEvent.VK_U: return "U"; case KeyEvent.VK_I: return "I"; case KeyEvent.VK_O: return "O"; case KeyEvent.VK_P: return "P"; case KeyEvent.VK_A: return "A"; case KeyEvent.VK_S: return "S"; case KeyEvent.VK_D: return "D"; case KeyEvent.VK_F: return "F"; case KeyEvent.VK_G: return "G"; case KeyEvent.VK_H: return "H"; case KeyEvent.VK_J: return "J"; case KeyEvent.VK_K: return "K"; case KeyEvent.VK_L: return "L"; case KeyEvent.VK_Z: return "Z"; case KeyEvent.VK_X: return "X"; case KeyEvent.VK_C: return "C"; case KeyEvent.VK_V: return "V"; case KeyEvent.VK_B: return "B"; case KeyEvent.VK_N: return "N"; case KeyEvent.VK_M: return "M"; default: return ""; } }
Example 14
Source File: KeyCodeToChar.java From Repeat with Apache License 2.0 | 4 votes |
private static String getLowerCaseAlphaChar(int code) { switch (code) { case KeyEvent.VK_Q: return "q"; case KeyEvent.VK_W: return "w"; case KeyEvent.VK_E: return "e"; case KeyEvent.VK_R: return "r"; case KeyEvent.VK_T: return "t"; case KeyEvent.VK_Y: return "y"; case KeyEvent.VK_U: return "u"; case KeyEvent.VK_I: return "i"; case KeyEvent.VK_O: return "o"; case KeyEvent.VK_P: return "p"; case KeyEvent.VK_A: return "a"; case KeyEvent.VK_S: return "s"; case KeyEvent.VK_D: return "d"; case KeyEvent.VK_F: return "f"; case KeyEvent.VK_G: return "g"; case KeyEvent.VK_H: return "h"; case KeyEvent.VK_J: return "j"; case KeyEvent.VK_K: return "k"; case KeyEvent.VK_L: return "l"; case KeyEvent.VK_Z: return "z"; case KeyEvent.VK_X: return "x"; case KeyEvent.VK_C: return "c"; case KeyEvent.VK_V: return "v"; case KeyEvent.VK_B: return "b"; case KeyEvent.VK_N: return "n"; case KeyEvent.VK_M: return "m"; default: return ""; } }
Example 15
Source File: Robot.java From xnx3 with Apache License 2.0 | 4 votes |
/** * 将字符型转换为按键码,可直接使用 {@link #press(int)}调用 * @param key 字符型文字,包含 0~9 a~z . * @return 按键码 */ public int StringToKey(String key){ switch (key) { case "a": return KeyEvent.VK_A; case "b": return KeyEvent.VK_B; case "c": return KeyEvent.VK_C; case "d": return KeyEvent.VK_D; case "e": return KeyEvent.VK_E; case "f": return KeyEvent.VK_F; case "g": return KeyEvent.VK_G; case "h": return KeyEvent.VK_H; case "i": return KeyEvent.VK_I; case "j": return KeyEvent.VK_J; case "k": return KeyEvent.VK_K; case "l": return KeyEvent.VK_L; case "m": return KeyEvent.VK_M; case "n": return KeyEvent.VK_N; case "o": return KeyEvent.VK_O; case "p": return KeyEvent.VK_P; case "q": return KeyEvent.VK_Q; case "r": return KeyEvent.VK_R; case "s": return KeyEvent.VK_S; case "t": return KeyEvent.VK_T; case "u": return KeyEvent.VK_U; case "v": return KeyEvent.VK_V; case "w": return KeyEvent.VK_W; case "x": return KeyEvent.VK_X; case "y": return KeyEvent.VK_Y; case "z": return KeyEvent.VK_Z; case "0": return KeyEvent.VK_0; case "1": return KeyEvent.VK_1; case "2": return KeyEvent.VK_2; case "3": return KeyEvent.VK_3; case "4": return KeyEvent.VK_4; case "5": return KeyEvent.VK_5; case "6": return KeyEvent.VK_6; case "7": return KeyEvent.VK_7; case "8": return KeyEvent.VK_8; case "9": return KeyEvent.VK_9; case ".": return KeyEvent.VK_PERIOD; default: break; } return 0; }
Example 16
Source File: OpenCommand.java From gcs with Mozilla Public License 2.0 | 4 votes |
private OpenCommand() { super(I18n.Text("Open…"), CMD_OPEN, KeyEvent.VK_O); }
Example 17
Source File: PlotFrame.java From opt4j with MIT License | 4 votes |
/** * Construct a plot frame with the specified title and the specified * instance of PlotBox. After constructing this, it is necessary to call * setVisible(true) to make the plot appear. * * @param title * The title to put on the window. * @param plotArg * the plot object to put in the frame, or null to create an * instance of Plot. */ public PlotFrame(String title, PlotBox plotArg) { super(title); // The Java look & feel is pretty lame, so we use the native // look and feel of the platform we are running on. try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (Exception e) { // Ignore exceptions, which only result in the wrong look and feel. } if (plotArg == null) { plot = new Plot(); } else { plot = plotArg; } // Background color is a light grey. plot.setBackground(new Color(0xe5e5e5)); _fileMenu.setMnemonic(KeyEvent.VK_F); _editMenu.setMnemonic(KeyEvent.VK_E); _specialMenu.setMnemonic(KeyEvent.VK_S); // File menu JMenuItem[] fileMenuItems = { new JMenuItem("Open", KeyEvent.VK_O), new JMenuItem("Save", KeyEvent.VK_S), new JMenuItem("SaveAs", KeyEvent.VK_A), new JMenuItem("Export", KeyEvent.VK_E), new JMenuItem("Print", KeyEvent.VK_P), new JMenuItem("Close", KeyEvent.VK_C), }; // Open button = ctrl-o. fileMenuItems[0].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, Event.CTRL_MASK)); // Save button = ctrl-s. fileMenuItems[1].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, Event.CTRL_MASK)); // Print button = ctrl-p. fileMenuItems[4].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P, Event.CTRL_MASK)); // Close button = ctrl-w. fileMenuItems[5].setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_W, Event.CTRL_MASK)); FileMenuListener fml = new FileMenuListener(); // Set the action command and listener for each menu item. for (int i = 0; i < fileMenuItems.length; i++) { fileMenuItems[i].setActionCommand(fileMenuItems[i].getText()); fileMenuItems[i].addActionListener(fml); _fileMenu.add(fileMenuItems[i]); } _menubar.add(_fileMenu); // Edit menu JMenuItem format = new JMenuItem("Format", KeyEvent.VK_F); FormatListener formatListener = new FormatListener(); format.addActionListener(formatListener); _editMenu.add(format); _menubar.add(_editMenu); // Special menu JMenuItem[] specialMenuItems = { new JMenuItem("About", KeyEvent.VK_A), new JMenuItem("Help", KeyEvent.VK_H), new JMenuItem("Clear", KeyEvent.VK_C), new JMenuItem("Fill", KeyEvent.VK_F), new JMenuItem("Reset axes", KeyEvent.VK_R), new JMenuItem("Sample plot", KeyEvent.VK_S), }; SpecialMenuListener sml = new SpecialMenuListener(); // Set the action command and listener for each menu item. for (int i = 0; i < specialMenuItems.length; i++) { specialMenuItems[i].setActionCommand(specialMenuItems[i].getText()); specialMenuItems[i].addActionListener(sml); _specialMenu.add(specialMenuItems[i]); } _menubar.add(_specialMenu); setJMenuBar(_menubar); getContentPane().add(plot, BorderLayout.CENTER); // FIXME: This should not be hardwired in here. setSize(500, 300); // Center. Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize = getSize(); int x = (screenSize.width - frameSize.width) / 2; int y = (screenSize.height - frameSize.height) / 2; setLocation(x, y); }