/** Create menus */ private JMenuBar createMenus() { JMenuItem mi; // ***** create the menubar **** menuBar = new JMenuBar(); // ***** create File menu fileMenu = (JMenu) menuBar.add(new JMenu("File")); fileMenu.setMnemonic('F'); createMenuItem(fileMenu, "Print", 'P', "", new PrintAction(this)); createMenuItem(fileMenu, "Close", 'C', "", new CloseAction(this)); fileMenu.add(new JSeparator()); createMenuItem(fileMenu, "Exit", 'E', "", new ExitAction()); // ***** create laf switcher menu lafMenu = (JMenu) menuBar.add(new JMenu("Look & Feel")); lafMenu.setMnemonic('L'); mi = createLafMenuItem(lafMenu, "Java Look & Feel", 'J', "", metal); mi.setSelected(true); // this is the default l&f metalMenuItem = mi; createLafMenuItem(lafMenu, "Macintosh Look & Feel", 'M', "", mac); createLafMenuItem(lafMenu, "Motif Look & Feel", 'F', "", motif); createLafMenuItem(lafMenu, "Windows Look & Feel", 'W', "", windows); // ***** create themes menu themesMenu = (JMenu) menuBar.add(new JMenu("Themes")); themesMenu.setMnemonic('T'); mi = createThemesMenuItem(themesMenu, "Default", 'D', "", new DefaultMetalTheme()); mi.setSelected(true); // This is the default theme createThemesMenuItem(themesMenu, "Aqua", 'A', "", new AquaTheme()); createThemesMenuItem(themesMenu, "Charcoal", 'C', "", new CharcoalTheme()); createThemesMenuItem(themesMenu, "High Contrast", 'H', "", new ContrastTheme()); createThemesMenuItem(themesMenu, "Emerald", 'E', "", new EmeraldTheme()); createThemesMenuItem(themesMenu, "Ruby", 'R', "", new RubyTheme()); createThemesMenuItem(themesMenu, "Presentation", 'P', "", new DemoMetalTheme()); createThemesMenuItem(themesMenu, "Sandstone", 'S', "", new KhakiMetalTheme()); createThemesMenuItem(themesMenu, "Big High Contrast", 'I', "", new BigContrastMetalTheme()); createThemesMenuItem(themesMenu, "Blue", 'B', "", new BlueTheme()); createThemesMenuItem(themesMenu, "Cougaar", 'O', "", new CougaarTheme()); createThemesMenuItem( themesMenu, "Cougaar Presentation", 'O', "", new CougaarPresentationTheme()); return menuBar; }
/** * Creates the theme menu * * @return the theme menu */ private JMenu createThemeMenu() { JMenu themeMenu = new JMenu("Theme"); ButtonGroup buttonGroup = new ButtonGroup(); // Create a menu item for all themes for (int i = 0; i < themes.length; i++) { JMenuItem themeItem = new JRadioButtonMenuItem(themes[i].getName()); buttonGroup.add(themeItem); final int k = i; themeItem.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { // Apply the selected theme applyTheme(themes[k]); } }); themeMenu.add(themeItem); // Set the first item (default theme) to be selected themeItem.setSelected(i == 0); } return themeMenu; }
private void doPopUp(MouseEvent e) { if (e.isPopupTrigger()) { this.button = (ColorIndexSupplier) e.getComponent(); int colorIndex = button.getColorCell(); for (int i = 0; i < groups.length; i++) { JMenuItem m = (JMenuItem) getSubElements()[Palette.split(colorIndex, i) + 64 * i]; m.setSelected(true); } show(e.getComponent(), e.getX(), e.getY()); } }
public static JMenuItem makeMenuItem(Command cmd) { JMenuItem item; if (cmd instanceof ToggleCommand) { item = new JCheckBoxMenuItem(cmd); item.setSelected(((ToggleCommand) cmd).isSelected()); } else { item = new JMenuItem(cmd); } cmd.bind(item); return item; }
/** Called when a choice was made in the additional display combo box. */ public void additionalDisplayCombo_actionPerformed() { int selectedIndex = additionalDisplayCombo.getSelectedIndex(); switch (selectedIndex) { case HackController.SCRIPT_ADDITIONAL_DISPLAY: if (!scriptMenuItem.isSelected()) scriptMenuItem.setSelected(true); break; case HackController.OUTPUT_ADDITIONAL_DISPLAY: if (!outputMenuItem.isSelected()) outputMenuItem.setSelected(true); break; case HackController.COMPARISON_ADDITIONAL_DISPLAY: if (!compareMenuItem.isSelected()) compareMenuItem.setSelected(true); break; case HackController.NO_ADDITIONAL_DISPLAY: if (!noAdditionalDisplayMenuItem.isSelected()) noAdditionalDisplayMenuItem.setSelected(true); break; } notifyControllerListeners( ControllerEvent.ADDITIONAL_DISPLAY_CHANGE, new Integer(selectedIndex)); }
/** * Returns a menu with items that control this track. * * @param trackerPanel the tracker panel * @return a menu */ public JMenu getMenu(TrackerPanel trackerPanel) { if (inspectorItem == null) { // create the model inspector item inspectorItem = new JMenuItem(); inspectorItem.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { positionInspector(); getInspector().setVisible(true); } }); // create the useDefaultRefFrameItem item useDefaultRefFrameItem = new JCheckBoxMenuItem(); useDefaultRefFrameItem.setSelected(!useDefaultReferenceFrame); useDefaultRefFrameItem.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { setUseDefaultReferenceFrame(!useDefaultRefFrameItem.isSelected()); if (ParticleModel.this.trackerPanel.getCoords() instanceof ReferenceFrame) { lastValidFrame = -1; refreshSteps(); } } }); } inspectorItem.setText( TrackerRes.getString("ParticleModel.MenuItem.InspectModel")); // $NON-NLS-1$ useDefaultRefFrameItem.setText( TrackerRes.getString("ParticleModel.MenuItem.UseDefaultReferenceFrame")); // $NON-NLS-1$ // assemble the menu JMenu menu = super.getMenu(trackerPanel); // remove unwanted menu items and separators menu.remove(autotrackItem); menu.remove(deleteStepItem); menu.remove(clearStepsItem); menu.remove(lockedItem); menu.remove(autoAdvanceItem); menu.remove(markByDefaultItem); menu.insert(inspectorItem, 0); if (menu.getItemCount() > 1) menu.insertSeparator(1); // // find visible item and insert useDefaultRefFrameItem after it // for (int i=0; i<menu.getMenuComponentCount(); i++) { // if (menu.getMenuComponent(i)==visibleItem) { // menu.insert(useDefaultRefFrameItem, i+1); // break; // } // } // eliminate any double separators Object prevItem = inspectorItem; int n = menu.getItemCount(); for (int j = 1; j < n; j++) { Object item = menu.getItem(j); if (item == null && prevItem == null) { // found extra separator menu.remove(j - 1); j = j - 1; n = n - 1; } prevItem = item; } return menu; }