@Override public JPopupMenu getComponentPopupMenu() { if (popupMenu == null) { popupMenu = new JPopupMenu(Messages.CHART_COLON); timeRangeMenu = new JMenu(Messages.PLOTTER_TIME_RANGE_MENU); timeRangeMenu.setMnemonic(Resources.getMnemonicInt(Messages.PLOTTER_TIME_RANGE_MENU)); popupMenu.add(timeRangeMenu); menuRBs = new JRadioButtonMenuItem[rangeNames.length]; ButtonGroup rbGroup = new ButtonGroup(); for (int i = 0; i < rangeNames.length; i++) { menuRBs[i] = new JRadioButtonMenuItem(rangeNames[i]); rbGroup.add(menuRBs[i]); menuRBs[i].addActionListener(this); if (viewRange == rangeValues[i]) { menuRBs[i].setSelected(true); } timeRangeMenu.add(menuRBs[i]); } popupMenu.addSeparator(); saveAsMI = new JMenuItem(Messages.PLOTTER_SAVE_AS_MENU_ITEM); saveAsMI.setMnemonic(Resources.getMnemonicInt(Messages.PLOTTER_SAVE_AS_MENU_ITEM)); saveAsMI.addActionListener(this); popupMenu.add(saveAsMI); } return popupMenu; }
/** Creates the GUI. */ public void majorLayout() { // // Setup Menu // JMenuBar menuBar = new JMenuBar(); JMenu file = new JMenu(ResourceHandler.getMessage("menu.file")); file.setMnemonic(ResourceHandler.getAcceleratorKey("menu.file")); file.add(exitMenuItem = new JMenuItem(ResourceHandler.getMessage("menu.exit"))); exitMenuItem.setMnemonic(ResourceHandler.getAcceleratorKey("menu.exit")); exitMenuItem.addActionListener(this); menuBar.add(file); JMenu edit = new JMenu(ResourceHandler.getMessage("menu.edit")); edit.setMnemonic(ResourceHandler.getAcceleratorKey("menu.edit")); edit.add(optionMenuItem = new JMenuItem(ResourceHandler.getMessage("menu.option"))); optionMenuItem.setMnemonic(ResourceHandler.getAcceleratorKey("menu.option")); optionMenuItem.addActionListener(this); menuBar.add(edit); JMenu help = new JMenu(ResourceHandler.getMessage("menu.help")); help.setMnemonic(ResourceHandler.getAcceleratorKey("menu.help")); help.add(helpMenuItem = new JMenuItem(ResourceHandler.getMessage("menu.help"))); helpMenuItem.setMnemonic(ResourceHandler.getAcceleratorKey("menu.help")); help.add(new JSeparator()); help.add(aboutMenuItem = new JMenuItem(ResourceHandler.getMessage("menu.about"))); aboutMenuItem.setMnemonic(ResourceHandler.getAcceleratorKey("menu.about")); helpMenuItem.addActionListener(this); aboutMenuItem.addActionListener(this); menuBar.add(help); setJMenuBar(menuBar); // // Setup main GUI // dirLabel = new JLabel(ResourceHandler.getMessage("converter_gui.lablel0")); dirTF = new JTextField(); dirBttn = new JButton(ResourceHandler.getMessage("button.browse.dir")); dirBttn.setMnemonic(ResourceHandler.getAcceleratorKey("button.browse.dir")); matchingLabel = new JLabel(ResourceHandler.getMessage("converter_gui.lablel1")); matchingTF = new JTextField(ResourceHandler.getMessage("converter_gui.lablel2")); recursiveCheckBox = new JCheckBox(ResourceHandler.getMessage("converter_gui.lablel3")); recursiveCheckBox.setMnemonic(ResourceHandler.getAcceleratorKey("converter_gui.lablel3")); backupLabel = new JLabel(ResourceHandler.getMessage("converter_gui.lablel5")); backupTF = new JTextField(); backupBttn = new JButton(ResourceHandler.getMessage("button.browse.backup")); backupBttn.setMnemonic(ResourceHandler.getAcceleratorKey("button.browse.backup")); templateLabel = new JLabel(ResourceHandler.getMessage("converter_gui.lablel7")); templateCh = new TemplateFileChoice(); staticVersioningLabel = new JLabel(ResourceHandler.getMessage("static.versioning.label")); String version = System.getProperty("java.version"); if (version.indexOf("-") > 0) { version = version.substring(0, version.indexOf("-")); } int dotIndex = version.indexOf("."); dotIndex = version.indexOf(".", dotIndex + 1); String familyVersion = version.substring(0, dotIndex); MessageFormat formatter = new MessageFormat(ResourceHandler.getMessage("static.versioning.radio.button")); staticVersioningRadioButton = new JRadioButton(formatter.format(new Object[] {version})); staticVersioningRadioButton.setMnemonic( ResourceHandler.getAcceleratorKey("static.versioning.radio.button")); formatter = new MessageFormat(ResourceHandler.getMessage("dynamic.versioning.radio.button")); dynamicVersioningRadioButton = new JRadioButton(formatter.format(new Object[] {familyVersion})); dynamicVersioningRadioButton.setMnemonic( ResourceHandler.getAcceleratorKey("dynamic.versioning.radio.button")); staticVersioningTextArea = new JTextArea(ResourceHandler.getMessage("static.versioning.text")); formatter = new MessageFormat(ResourceHandler.getMessage("dynamic.versioning.text")); dynamicVersioningTextArea = new JTextArea(formatter.format(new Object[] {familyVersion})); ButtonGroup versioningButtonGroup = new ButtonGroup(); versioningButtonGroup.add(staticVersioningRadioButton); versioningButtonGroup.add(dynamicVersioningRadioButton); runBttn = new JButton(ResourceHandler.getMessage("button.convert")); runBttn.setMnemonic(ResourceHandler.getAcceleratorKey("button.convert")); recursiveCheckBox.setOpaque(false); staticVersioningRadioButton.setOpaque(false); dynamicVersioningRadioButton.setOpaque(false); staticVersioningTextArea.setEditable(false); staticVersioningTextArea.setLineWrap(true); staticVersioningTextArea.setWrapStyleWord(true); dynamicVersioningTextArea.setEditable(false); dynamicVersioningTextArea.setLineWrap(true); dynamicVersioningTextArea.setWrapStyleWord(true); staticVersioningPanel.setLayout(new BorderLayout()); staticVersioningPanel.add(staticVersioningTextArea, "Center"); staticVersioningPanel.setBorder(new LineBorder(Color.black)); dynamicVersioningPanel.setLayout(new BorderLayout()); dynamicVersioningPanel.add(dynamicVersioningTextArea, "Center"); dynamicVersioningPanel.setBorder(new LineBorder(Color.black)); if (converter.isStaticVersioning()) { staticVersioningRadioButton.setSelected(true); } else { dynamicVersioningRadioButton.setSelected(true); } addListeners(); final int buf = 10, // Buffer (between components and form) sp = 10, // Space between components vsp = 5, // Vertical space indent = 20; // Indent between form (left edge) and component GridBagConstraints gbc = new GridBagConstraints(); GridBagLayout gbl = new GridBagLayout(); getContentPane().setLayout(gbl); // // Setup top panel // GridBagLayout topLayout = new GridBagLayout(); JPanel topPanel = new JPanel(); topPanel.setOpaque(false); topPanel.setLayout(topLayout); topLayout.setConstraints( dirLabel, new GridBagConstraints( 0, 0, 1, 1, 0, 0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(10, 0, 0, 0), 0, 0)); topLayout.setConstraints( dirTF, new GridBagConstraints( 1, 0, 1, 1, 1, 0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(vsp, 2, 0, 0), 0, 0)); topLayout.setConstraints( dirBttn, new GridBagConstraints( 2, 0, 1, 1, 0, 0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(10, sp, 0, 0), 0, 0)); topLayout.setConstraints( matchingLabel, new GridBagConstraints( 0, 1, 1, 1, 0, 0, GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(10, 0, 0, 0), 0, 0)); topLayout.setConstraints( matchingTF, new GridBagConstraints( 1, 1, 1, 1, 1, 0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(vsp, 2, 0, 0), 0, 0)); topLayout.setConstraints( recursiveCheckBox, new GridBagConstraints( 2, 1, GridBagConstraints.REMAINDER, 1, 1, 0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(vsp, 10, 0, 0), 0, 0)); topLayout.setConstraints( backupLabel, new GridBagConstraints( 0, 3, 1, 1, 0, 0, GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(10, 0, 0, 0), 0, 0)); topLayout.setConstraints( backupTF, new GridBagConstraints( 1, 3, 1, 1, 1, 0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(vsp, 2, 0, 0), 0, 0)); topLayout.setConstraints( backupBttn, new GridBagConstraints( 2, 3, 1, 1, 0, 0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(10, sp, 0, 0), 0, 0)); topLayout.setConstraints( templateLabel, new GridBagConstraints( 0, 4, 1, 1, 0, 0, GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(10, 0, 0, 0), 0, 0)); topLayout.setConstraints( templateCh, new GridBagConstraints( 1, 4, 1, 1, 0, 0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(vsp, 2, 0, 0), 0, 0)); topLayout.setConstraints( sep1, new GridBagConstraints( 0, 5, GridBagConstraints.REMAINDER, 1, 1, 0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(10, 10, 10, 10), 0, 0)); topLayout.setConstraints( staticVersioningLabel, new GridBagConstraints( 0, 6, 1, 1, 0, 0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(10, 0, 0, 0), 0, 0)); topLayout.setConstraints( staticVersioningRadioButton, new GridBagConstraints( 0, 7, GridBagConstraints.REMAINDER, 1, 1, 0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(vsp, 10, 0, 0), 0, 0)); topLayout.setConstraints( staticVersioningPanel, new GridBagConstraints( 0, 8, GridBagConstraints.REMAINDER, 1, 0, 0, GridBagConstraints.WEST, GridBagConstraints.BOTH, new Insets(vsp, 25, 10, 0), 0, 0)); topLayout.setConstraints( dynamicVersioningRadioButton, new GridBagConstraints( 0, 9, GridBagConstraints.REMAINDER, 1, 1, 0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(vsp, 10, 0, 0), 0, 0)); topLayout.setConstraints( dynamicVersioningPanel, new GridBagConstraints( 0, 10, GridBagConstraints.REMAINDER, 1, 0, 0, GridBagConstraints.WEST, GridBagConstraints.BOTH, new Insets(vsp, 25, 0, 0), 0, 0)); topLayout.setConstraints( sep2, new GridBagConstraints( 0, 11, GridBagConstraints.REMAINDER, 1, 1, 0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(10, 10, 0, 10), 0, 0)); invisibleBttn = new JButton(); invisibleBttn.setVisible(false); topLayout.setConstraints( invisibleBttn, new GridBagConstraints( 2, 6, 1, 1, 0, 0, GridBagConstraints.CENTER, GridBagConstraints.CENTER, new Insets(indent, sp, 0, 0), 0, 0)); topPanel.add(dirLabel); topPanel.add(dirTF); topPanel.add(dirBttn); topPanel.add(matchingLabel); topPanel.add(matchingTF); topPanel.add(recursiveCheckBox); topPanel.add(backupLabel); topPanel.add(backupTF); topPanel.add(backupBttn); topPanel.add(templateLabel); topPanel.add(templateCh); topPanel.add(sep1); topPanel.add(staticVersioningLabel); topPanel.add(staticVersioningRadioButton); topPanel.add(staticVersioningPanel); topPanel.add(dynamicVersioningRadioButton); topPanel.add(dynamicVersioningPanel); topPanel.add(sep2); topPanel.add(invisibleBttn); // // Setup bottom panel // GridBagLayout buttomLayout = new GridBagLayout(); JPanel buttomPanel = new JPanel(); buttomPanel.setOpaque(false); buttomPanel.setLayout(buttomLayout); buttomLayout.setConstraints( runBttn, new GridBagConstraints( 3, 0, 1, 1, 0, 0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(sp, 0, 0, 0), 0, 0)); buttomPanel.add(runBttn); // // Setup main panel // GridBagLayout mainLayout = new GridBagLayout(); JPanel mainPanel = new JPanel(); mainPanel.setOpaque(false); mainPanel.setLayout(mainLayout); mainLayout.setConstraints( topPanel, new GridBagConstraints( 0, 0, 1, 1, 1, 0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(buf, buf, 0, buf), 0, 0)); mainLayout.setConstraints( buttomPanel, new GridBagConstraints( 0, 1, 1, 1, 1, 1, GridBagConstraints.SOUTH, GridBagConstraints.HORIZONTAL, new Insets(0, buf, buf, buf), 0, 0)); mainPanel.add(topPanel); mainPanel.add(buttomPanel); Border border = BorderFactory.createEtchedBorder(); mainPanel.setBorder(border); GridBagLayout layout = new GridBagLayout(); getContentPane().setLayout(layout); layout.setConstraints( mainPanel, new GridBagConstraints( 0, 0, 1, 1, 1, 1, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0)); getContentPane().add(mainPanel); pack(); setResizable(false); }
public View(Model model) { this.model = model; model.makeMeObserver(this); frame = new JFrame(); statusbar = new JLabel(" 0"); board = new Board(); frame.add(board); JMenuBar menubar = new JMenuBar(); JMenu file = new JMenu("Settings"); file.setMnemonic(KeyEvent.VK_F); JMenuItem eMenuItem = new JMenuItem("New game"); eMenuItem.setToolTipText("Start a new game"); eMenuItem.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent event) { menuEvent = -1; setChanged(); notifyObservers(); menuEvent = 0; } }); file.add(eMenuItem); eMenuItem = new JMenuItem("Pause"); eMenuItem.setMnemonic(KeyEvent.VK_P); eMenuItem.setToolTipText("Set pause"); eMenuItem.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent event) { menuEvent = 1; setChanged(); notifyObservers(); menuEvent = 0; } }); file.add(eMenuItem); JMenu imp = new JMenu("Set level"); imp.setMnemonic(KeyEvent.VK_M); JMenuItem lvl1 = new JMenuItem("level 1"); lvl1.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent event) { menuEvent = 2; setChanged(); notifyObservers(); menuEvent = 0; } }); JMenuItem lvl2 = new JMenuItem("level 2"); lvl2.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent event) { menuEvent = 3; setChanged(); notifyObservers(); menuEvent = 0; } }); JMenuItem lvl3 = new JMenuItem("level 3"); lvl3.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent event) { menuEvent = 4; setChanged(); notifyObservers(); menuEvent = 0; } }); JMenuItem lvl4 = new JMenuItem("level 4"); lvl4.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent event) { menuEvent = 5; setChanged(); notifyObservers(); menuEvent = 0; } }); JMenuItem lvl5 = new JMenuItem("level 5"); lvl5.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent event) { menuEvent = 6; setChanged(); notifyObservers(); menuEvent = 0; } }); imp.add(lvl1); imp.add(lvl2); imp.add(lvl3); imp.add(lvl4); imp.add(lvl5); file.add(imp); eMenuItem = new JMenuItem("Table of recorgs"); eMenuItem.setToolTipText("Show table of records"); eMenuItem.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent event) { recordDialog ad; try { ad = new recordDialog(); ad.setVisible(true); } catch (IOException e) { e.printStackTrace(); } } }); file.add(eMenuItem); eMenuItem = new JMenuItem("Exit"); eMenuItem.setMnemonic(KeyEvent.VK_C); eMenuItem.setToolTipText("Exit application"); eMenuItem.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent event) { System.exit(0); } }); file.add(eMenuItem); menubar.add(file); frame.setJMenuBar(menubar); statusbar.setPreferredSize(new Dimension(-1, 22)); statusbar.setBorder(LineBorder.createGrayLineBorder()); frame.add(statusbar, BorderLayout.SOUTH); frame.setSize(200, 400); frame.setTitle("Tetris"); frame.setLocationRelativeTo(null); }
// Method builds menu components. private JMenuBar buildMenu() { // Add menus to the menu bar. menuBar.add(file); menuBar.add(comm); menuBar.add(data); menuBar.add(help); // Set mnemonics for menu selections. file.setMnemonic('F'); comm.setMnemonic('C'); data.setMnemonic('D'); help.setMnemonic('H'); // Menu items for file menu. file.add(menuItemNew); file.addSeparator(); file.add(menuItemOpen); file.add(menuItemClose); file.addSeparator(); file.add(menuItemSave); file.add(menuItemSaveAs); file.addSeparator(); file.add(menuItemExit); // Menu items for comm menu. comm.add(menuItemSend); comm.add(menuItemReceive); // Menu items for comm menu. data.add(menuItemConnect); data.add(menuItemSubmit); // Set mnemonics for menu item selections for file menu. menuItemNew.setMnemonic('N'); menuItemOpen.setMnemonic('O'); menuItemClose.setMnemonic('C'); menuItemSave.setMnemonic('S'); menuItemSaveAs.setMnemonic('A'); menuItemExit.setMnemonic('X'); // Set mnemonics for comm item selections for file menu. menuItemSend.setMnemonic('S'); menuItemReceive.setMnemonic('R'); // Set mnemonics for data item selections for file menu. menuItemConnect.setMnemonic('C'); menuItemSubmit.setMnemonic('R'); // Menu items to help menu. help.add(menuCheckBoxItemDebug); help.addSeparator(); help.add(menuItemHelp); // Set mnemonics for menu item selections for edit menu. menuCheckBoxItemDebug.setMnemonic('D'); menuItemHelp.setMnemonic('A'); // Build menu action listeners. buildMenuActionListeners(); // Set the menu bar in the frame and return menu bar. setJMenuBar(menuBar); // Return JMenuBar return menuBar; } // End of buildMenu() method.
private void createMenuBar() { JMenu file = new JMenu("File"); file.setMnemonic(KeyEvent.VK_F); this.add(file); JMenuItem newMap = new JMenuItem("New"); newMap.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { NewMapDialog nmd = new NewMapDialog(); MapSize newMapSize = nmd.showDialog(); if (newMapSize != null) { map.initializeGrid(newMapSize); } } }); newMap.setToolTipText("Make a new map"); newMap.setMnemonic(KeyEvent.VK_N); file.add(newMap); JMenuItem loadMap = new JMenuItem("Open"); loadMap.setToolTipText("Open saved new map"); loadMap.setMnemonic(KeyEvent.VK_O); loadMap.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { controller.loadMap(); } }); file.add(loadMap); JMenuItem saveMap = new JMenuItem("Save"); saveMap.setToolTipText("Save map"); saveMap.setMnemonic(KeyEvent.VK_S); saveMap.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { JFileChooser saveMapDialog = new JFileChooser("D:\\"); if (saveMapDialog.showSaveDialog((JMenuItem) e.getSource()) == JFileChooser.APPROVE_OPTION) { try { File mapSaveFile = saveMapDialog.getSelectedFile(); mapSaveFile = new File(mapSaveFile.toString() + ".jh3m"); if (!mapSaveFile.exists()) { mapSaveFile.createNewFile(); } FileOutputStream mapSaveStream = new FileOutputStream(mapSaveFile); ObjectOutputStream mapSaveObjectStream = new ObjectOutputStream(mapSaveStream); SavedMap currentMapToSave = new SavedMap(map.getMapSize(), map.getMapCells()); mapSaveObjectStream.writeObject(currentMapToSave); mapSaveObjectStream.close(); mapSaveStream.close(); JOptionPane.showMessageDialog( null, "Zapis udany!", "Zapisano", JOptionPane.INFORMATION_MESSAGE); } catch (Exception ex) { JOptionPane.showMessageDialog( null, ex.toString(), "ERROR", JOptionPane.ERROR_MESSAGE); ex.printStackTrace(); } } } }); file.add(saveMap); JMenu edit = new JMenu("Edit"); edit.setMnemonic(KeyEvent.VK_E); this.add(edit); JMenuItem eShowGrid = new JMenuItem("Show/Hide grid"); eShowGrid.setToolTipText("Shows/Hides grid on the map"); eShowGrid.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent event) { map.showHideGrid(); } }); edit.add(eShowGrid); }
private void setUpMenuBar() { // Set Up Menu Bar JMenuBar menu = new JMenuBar(); // Game Menu JMenu gameMenu = new JMenu("Game"); menu.add(gameMenu); JMenuItem newRandom = new JMenuItem("New Game"); gameMenu.add(newRandom); newRandom.setAccelerator( KeyStroke.getKeyStroke( KeyEvent.VK_N, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask())); newRandom.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { newGame(); } }); gameMenu.addSeparator(); ButtonGroup bg = new ButtonGroup(); JRadioButtonMenuItem size4 = new JRadioButtonMenuItem("4x4 board"); size4.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { myBoardSize = 4; } }); size4.setSelected(true); bg.add(size4); gameMenu.add(size4); JRadioButtonMenuItem size5 = new JRadioButtonMenuItem("5x5 board"); size5.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { myBoardSize = 5; } }); bg.add(size5); gameMenu.add(size5); gameMenu.addSeparator(); JMenuItem gameTime = new JMenuItem("Time (secs)"); gameMenu.add(gameTime); gameTime.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { String secs = JOptionPane.showInputDialog(BoggleGUI.this, "time in seconds"); try { int len = Integer.parseInt(secs); myGameLength = len; myProgress.setMaximum(myGameLength); } catch (NumberFormatException e1) { if (secs != null) { showError(secs + " not valid integer value"); } } } }); gameMenu.addSeparator(); JMenuItem quitGame = new JMenuItem("Quit"); gameMenu.add(quitGame); quitGame.setMnemonic('Q'); quitGame.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { System.exit(0); } }); // Help menu JMenu helpMenu = new JMenu("Help"); menu.add(helpMenu); helpMenu.setMnemonic(KeyEvent.VK_H); JMenuItem aboutGame = new JMenuItem("About..."); helpMenu.add(aboutGame); aboutGame.setMnemonic(KeyEvent.VK_A); aboutGame.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { JOptionPane.showMessageDialog( BoggleGUI.this, "Compsci Boggle, brought to you\n" + "by educators and students\n" + "including, of course, you.", "About Game", JOptionPane.PLAIN_MESSAGE); } }); setJMenuBar(menu); }
/** * Constructs a simple frame with the specified world and orientation. * * @param world the world view. * @param ao the axes orientation. */ public RSFFrame(World world, AxesOrientation ao) { super(new PlotPanel()); if (world == null) world = new World(); if (ao == null) ao = AxesOrientation.XRIGHT_YOUT_ZDOWN; _world = world; _view = new OrbitView(_world); _view.setAxesOrientation(ao); _canvas = new ViewCanvas(); _canvas.setView(_view); _canvas.setBackground(Color.WHITE); _points = new ArrayList<PointGroup>(); _lines = new ArrayList<LineGroup>(); _d = null; _tpx = null; _tpy = null; _ipg = null; _etc = null; _coord = null; ModeManager mm = new ModeManager(); mm.add(_canvas); OrbitViewMode ovm = new OrbitViewMode(mm); SelectDragMode sdm = new SelectDragMode(mm); JPopupMenu.setDefaultLightWeightPopupEnabled(false); ToolTipManager.sharedInstance().setLightWeightPopupEnabled(false); JMenu fileMenu = new JMenu("File"); fileMenu.setMnemonic('F'); Action exitAction = new AbstractAction("Exit") { public void actionPerformed(ActionEvent event) { System.exit(0); } }; Action cubeAction = new AbstractAction("Add Cube") { public void actionPerformed(ActionEvent event) { String filename = chooseFile("."); if (filename != null) addRSFCube(filename); } }; Action lineAction = new AbstractAction("Add Line") { public void actionPerformed(ActionEvent event) { String filename = chooseFile("."); if (filename != null) addRSFLine(filename); } }; Action pointAction = new AbstractAction("Add Points") { public void actionPerformed(ActionEvent event) { String filename = chooseFile("."); if (filename != null) addRSFPoint(filename); } }; Action loadViewAction = new AbstractAction("Load Viewpoint") { public void actionPerformed(ActionEvent event) { String filename = chooseFile("."); if (filename != null) loadView(filename); } }; Action saveViewAction = new AbstractAction("Save Viewpoint") { public void actionPerformed(ActionEvent event) { JFileChooser chooser = new JFileChooser(new File(".")); int returnVal = chooser.showSaveDialog(new JFrame()); String filename = null; if (returnVal == JFileChooser.APPROVE_OPTION) { filename = chooser.getSelectedFile().getPath(); saveView(filename); } } }; Action saveFrameAction = new AbstractAction("Save to PNG") { public void actionPerformed(ActionEvent event) { JFileChooser chooser = new JFileChooser(new File(".")); int returnVal = chooser.showSaveDialog(new JFrame()); String filename = null; if (returnVal == JFileChooser.APPROVE_OPTION) { filename = chooser.getSelectedFile().getPath(); saveFrametoPNG(filename); } } }; JMenuItem cubeItem = fileMenu.add(cubeAction); cubeItem.setMnemonic('C'); JMenuItem lineItem = fileMenu.add(lineAction); lineItem.setMnemonic('L'); JMenuItem pointItem = fileMenu.add(pointAction); pointItem.setMnemonic('P'); JMenuItem saveViewItem = fileMenu.add(saveViewAction); saveViewItem.setMnemonic('V'); JMenuItem loadViewItem = fileMenu.add(loadViewAction); loadViewItem.setMnemonic('I'); JMenuItem saveFrameItem = fileMenu.add(saveFrameAction); saveFrameItem.setMnemonic('S'); JMenuItem exitItem = fileMenu.add(exitAction); exitItem.setMnemonic('X'); JMenu colorMenu = new JMenu("Color"); Action jetAction = new AbstractAction("Jet") { public void actionPerformed(ActionEvent event) { _color = ColorList.JET; setColorMap(); } }; Action prismAction = new AbstractAction("Prism") { public void actionPerformed(ActionEvent event) { _color = ColorList.PRISM; setColorMap(); } }; Action grayAction = new AbstractAction("Gray") { public void actionPerformed(ActionEvent event) { _color = ColorList.GRAY; setColorMap(); } }; Action rwbAction = new AbstractAction("Red-White-Blue") { public void actionPerformed(ActionEvent event) { _color = ColorList.RWB; setColorMap(); } }; colorMenu.add(jetAction); colorMenu.add(prismAction); colorMenu.add(grayAction); colorMenu.add(rwbAction); JMenu clipMenu = new JMenu("% Clip"); Action clipUp = new AbstractAction("Set max pclip") { public void actionPerformed(ActionEvent event) { String value = JOptionPane.showInputDialog(new JFrame(), "Percentile Clip Max (0-100.0):", _pmax); try { _pmax = Float.parseFloat(value); if (_pmax > 100.0f) _pmax = 100.0f; if (_pmax < _pmin) _pmax = _pmin + 1.0f; System.out.printf("pclip: (%f,%f) \n", _pmin, _pmax); _ipg.setPercentiles(_pmin, _pmax); } catch (Exception e) { System.out.println(e); } } }; Action clipDown = new AbstractAction("Set min pclip") { public void actionPerformed(ActionEvent event) { String value = JOptionPane.showInputDialog( new JFrame(), String.format("Percentile Clip Min (0-%f):", _pmax), _pmin); try { _pmin = Float.parseFloat(value); if (_pmin < 0.0f) _pmin = 0.0f; if (_pmin > _pmax) _pmin = _pmax - 1.0f; System.out.printf("pclip: (%f,%f) \n", _pmin, _pmax); _ipg.setPercentiles(_pmin, _pmax); } catch (Exception e) { System.out.println(e); } } }; clipMenu.add(clipUp); clipMenu.add(clipDown); JMenu modeMenu = new JMenu("Mode"); modeMenu.setMnemonic('M'); JMenuItem ovmItem = new JMenuItem(ovm); modeMenu.add(ovmItem); JMenuItem sdmItem = new JMenuItem(sdm); modeMenu.add(sdmItem); JMenu tensorMenu = new JMenu("Tensor"); Action tenLoadAction = new AbstractAction("Load Tensors") { public void actionPerformed(ActionEvent event) { String filename = chooseFile("."); if (filename != null) loadTensors(filename); } }; Action tenCoordLoadAction = new AbstractAction("Load Tensor Coordinates") { public void actionPerformed(ActionEvent event) { String filename = chooseFile("."); if (filename != null) loadTensorCoords(filename); } }; Action showTenAction = new AbstractAction("Show Tensors at Coordinates") { public void actionPerformed(ActionEvent event) { String filename; int sel; if (_ipg == null) { sel = JOptionPane.showConfirmDialog( null, "An RSF Cube (Image) needs to be loaded. " + " Would you like to load one?", "Notice", JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE); if (sel == JOptionPane.OK_OPTION) { filename = chooseFile("."); if (filename != null) addRSFCube(filename); } else { JOptionPane.showConfirmDialog( null, "Cannot load tensors because an RFC cube was not loaded.", "Error", JOptionPane.DEFAULT_OPTION, JOptionPane.ERROR_MESSAGE); return; } } if (_coord == null) { sel = JOptionPane.showConfirmDialog( null, "The tensors coordinates need to be loaded. " + " Would you like to load them?", "Notice", JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE); if (sel == JOptionPane.OK_OPTION) { filename = chooseFile("."); if (filename != null) loadCoord(filename); } else { JOptionPane.showConfirmDialog( null, "Error loading coordinates.", "Error", JOptionPane.DEFAULT_OPTION, JOptionPane.ERROR_MESSAGE); return; } } if (_etc == null) { sel = JOptionPane.showConfirmDialog( null, "The tensors at coordinates need to be loaded. " + " Would you like to load them?", "Notice", JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE); if (sel == JOptionPane.OK_OPTION) { filename = chooseFile("."); if (filename != null) loadTensorCoords(filename); return; } else { JOptionPane.showConfirmDialog( null, "Cannot show tensors because the tensors at coordinates" + " were not loaded.", "Error", JOptionPane.DEFAULT_OPTION, JOptionPane.ERROR_MESSAGE); return; } } /* if(_d == null) { sel = JOptionPane.showConfirmDialog(null, "The tensors need to be loaded. " + " Would you like to load them?", "Notice", JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE); if(sel == JOptionPane.OK_OPTION) { filename = chooseFile("."); if (filename != null) loadTensors(filename); } else { JOptionPane.showConfirmDialog(null, "Cannot show tensors because the tensors were not loaded.", "Error", JOptionPane.DEFAULT_OPTION, JOptionPane.ERROR_MESSAGE); return; } } if(_etg == null) { sel = JOptionPane.showConfirmDialog(null, "The tensor coordinates need to be loaded. " + " Would you like to load them?", "Notice", JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE); if(sel == JOptionPane.OK_OPTION) { filename = chooseFile("."); if (filename != null) loadTensorCoords(filename); return; } else { JOptionPane.showConfirmDialog(null, "Cannot show tensors because the tensor coordinates" + " were not loaded.", "Error", JOptionPane.DEFAULT_OPTION, JOptionPane.ERROR_MESSAGE); return; } } */ _world.addChild(_etg); } }; Action hideTenAction = new AbstractAction("Hide Tensors at Coordinates") { public void actionPerformed(ActionEvent event) { if (_etg != null) _world.removeChild(_etg); } }; Action showTenPanAction = new AbstractAction("Show Tensor Panels") { public void actionPerformed(ActionEvent event) { String filename; int sel; if (_ipg == null) { sel = JOptionPane.showConfirmDialog( null, "An RSF Cube (Image) needs to be loaded. " + " Would you like to load one?", "Notice", JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE); if (sel == JOptionPane.OK_OPTION) { filename = chooseFile("."); if (filename != null) addRSFCube(filename); } else { JOptionPane.showConfirmDialog( null, "Cannot load tensors because an RFC cube was not loaded.", "Error", JOptionPane.DEFAULT_OPTION, JOptionPane.ERROR_MESSAGE); return; } } if (_d == null) { sel = JOptionPane.showConfirmDialog( null, "The tensors need to be loaded. " + " Would you like to load them?", "Notice", JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE); if (sel == JOptionPane.OK_OPTION) { filename = chooseFile("."); if (filename != null) loadTensors(filename); addRSFTensorEllipsoids(); } else { JOptionPane.showConfirmDialog( null, "Cannot show tensors because the tensors were not loaded.", "Error", JOptionPane.DEFAULT_OPTION, JOptionPane.ERROR_MESSAGE); return; } } else if (_tpx == null || _tpy == null) { addRSFTensorEllipsoids(); } else { ImagePanel ipx = _ipg.getImagePanel(Axis.X); ImagePanel ipy = _ipg.getImagePanel(Axis.Y); ipx.getFrame().addChild(_tpx); ipy.getFrame().addChild(_tpy); } } }; Action hideTenPanAction = new AbstractAction("Hide Tensor Panels") { public void actionPerformed(ActionEvent event) { if (_tpx != null) { ImagePanel ipx = _ipg.getImagePanel(Axis.X); ipx.getFrame().removeChild(_tpx); } if (_tpy != null) { ImagePanel ipy = _ipg.getImagePanel(Axis.Y); ipy.getFrame().removeChild(_tpy); } } }; JMenuItem tensorItem0 = tensorMenu.add(tenLoadAction); tensorItem0.setMnemonic('L'); JMenuItem tensorItem2 = tensorMenu.add(tenCoordLoadAction); tensorItem2.setMnemonic('C'); JMenuItem tensorItem1 = tensorMenu.add(showTenPanAction); tensorItem1.setMnemonic('T'); JMenuItem tensorItem5 = tensorMenu.add(hideTenPanAction); tensorItem5.setMnemonic('R'); JMenuItem tensorItem4 = tensorMenu.add(showTenAction); tensorItem4.setMnemonic('S'); JMenuItem tensorItem3 = tensorMenu.add(hideTenAction); tensorItem3.setMnemonic('H'); JMenuBar menuBar = new JMenuBar(); menuBar.add(fileMenu); menuBar.add(modeMenu); menuBar.add(tensorMenu); menuBar.add(colorMenu); menuBar.add(clipMenu); JToolBar toolBar = new JToolBar(SwingConstants.VERTICAL); toolBar.setRollover(true); JToggleButton ovmButton = new ModeToggleButton(ovm); toolBar.add(ovmButton); JToggleButton sdmButton = new ModeToggleButton(sdm); toolBar.add(sdmButton); _cb = new ColorBar(); _cb.setWidthMinimum(45); _cb.setFont(_cb.getFont().deriveFont(18.f)); // _ipg.addColorMapListener(_cb); ovm.setActive(true); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setSize(new Dimension(SIZE, SIZE)); this.add(_canvas, BorderLayout.CENTER); this.add(toolBar, BorderLayout.WEST); this.add(_cb, BorderLayout.EAST); this.setJMenuBar(menuBar); this.setVisible(true); }
/** The graphic handling and deployment. */ private void initComponents() { jDesktopPane1 = new javax.swing.JDesktopPane(); jInternalFrame1 = new javax.swing.JInternalFrame(); tf = new javax.swing.JTextField(); b1 = new javax.swing.JButton(); jInternalFrame3 = new javax.swing.JInternalFrame(); ta = new javax.swing.JTextArea(); jsp_ta = new javax.swing.JScrollPane(ta); jMenuBar1 = new javax.swing.JMenuBar(); jMenu1 = new javax.swing.JMenu(); jMenuItem3 = new javax.swing.JMenuItem(); jSeparator1 = new javax.swing.JSeparator(); jMenuItem4 = new javax.swing.JMenuItem(); jInternalFrame1 .getContentPane() .setLayout( new javax.swing.BoxLayout( jInternalFrame1.getContentPane(), javax.swing.BoxLayout.X_AXIS)); jInternalFrame1.setIconifiable(true); jInternalFrame1.setMaximizable(true); jInternalFrame1.setResizable(true); jInternalFrame1.setTitle("Message editor"); jInternalFrame1.setToolTipText( "Move and resize all of these to make the chat room appearance match your preferences."); jInternalFrame1.setVisible(true); tf.setFont(new java.awt.Font("Lucida Sans", 0, 12)); jInternalFrame1.getContentPane().add(tf); b1.setText("Send Message"); jInternalFrame1.getContentPane().add(b1); jInternalFrame1.setBounds(10, 10, 440, 60); jDesktopPane1.add(jInternalFrame1, javax.swing.JLayeredPane.DEFAULT_LAYER); jInternalFrame3.setIconifiable(true); jInternalFrame3.setMaximizable(true); jInternalFrame3.setResizable(true); jInternalFrame3.setTitle("Messages"); jInternalFrame3.setToolTipText( "Move and resize all of these to make the chat room appearance match your preferences."); jInternalFrame3.setVisible(true); ta.setBackground(new Color(255, 255, 255)); ta.setEditable(false); ta.setFont(new java.awt.Font("Lucida Sans", 0, 12)); // jsp_ta.setAutoscrolls(true); jsp_ta.setDoubleBuffered(true); jInternalFrame3.getContentPane().add(jsp_ta, java.awt.BorderLayout.CENTER); jInternalFrame3.setBounds(10, 80, 420, 240); jDesktopPane1.add(jInternalFrame3, javax.swing.JLayeredPane.DEFAULT_LAYER); getContentPane().add(jDesktopPane1, java.awt.BorderLayout.CENTER); jMenu1.setText("Private room options"); jMenu1.setMnemonic(KeyEvent.VK_O); jMenu1.setToolTipText("Choose some options."); jMenuItem3.setText("Save conversation"); jMenuItem3.setMnemonic(KeyEvent.VK_S); jMenuItem3.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, ActionEvent.CTRL_MASK)); jMenu1.add(jMenuItem3); jMenu1.add(jSeparator1); jMenuItem4.setText("Exit"); jMenuItem4.setMnemonic(KeyEvent.VK_E); jMenuItem4.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E, ActionEvent.CTRL_MASK)); jMenu1.add(jMenuItem4); jMenuBar1.add(jMenu1); setJMenuBar(jMenuBar1); this.pack(); b1.addActionListener(this); tf.addActionListener(this); jMenuItem3.addActionListener(this); jMenuItem4.addActionListener(this); posx = (int) Math.random() * 640; posy = (int) Math.random() * 480; this.pack(); this.setSize(dimx, dimy); this.setLocation(posx, posy); this.show(); }