List of usage examples for javax.swing KeyStroke getKeyStroke
public static KeyStroke getKeyStroke(int keyCode, int modifiers)
From source file:com.mirth.connect.client.ui.SettingsPanelResources.java
private void initComponents() { setLayout(new MigLayout("insets 12, novisualpadding, hidemode 3, fill")); setBackground(UIConstants.BACKGROUND_COLOR); JPanel resourceListPanel = new JPanel(new MigLayout("insets 0, novisualpadding, hidemode 3, fill")); resourceListPanel.setBackground(getBackground()); resourceListPanel.setBorder(BorderFactory.createTitledBorder( BorderFactory.createMatteBorder(1, 0, 0, 0, new Color(204, 204, 204)), "Resources", TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, new Font("Tahoma", 1, 11))); resourceTable = new MirthTable(); resourceTable.setModel(// w w w. ja v a 2s.c om new RefreshTableModel(new Object[] { "Properties", "Name", "Type", "Global Scripts" }, 0) { @Override public boolean isCellEditable(int row, int column) { if (row == 0) { return column == GLOBAL_SCRIPTS_COLUMN; } else { return column == NAME_COLUMN || column == TYPE_COLUMN || column == GLOBAL_SCRIPTS_COLUMN; } } }); resourceTable.setDragEnabled(false); resourceTable.setRowSelectionAllowed(true); resourceTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); resourceTable.setRowHeight(UIConstants.ROW_HEIGHT); resourceTable.setFocusable(true); resourceTable.setOpaque(true); resourceTable.getTableHeader().setReorderingAllowed(false); resourceTable.setEditable(true); resourceTable.setSortable(false); if (Preferences.userNodeForPackage(Mirth.class).getBoolean("highlightRows", true)) { resourceTable.setHighlighters(HighlighterFactory.createAlternateStriping(UIConstants.HIGHLIGHTER_COLOR, UIConstants.BACKGROUND_COLOR)); } for (ResourceClientPlugin plugin : LoadedExtensions.getInstance().getResourceClientPlugins().values()) { propertiesPanelMap.put(plugin.getType(), plugin.getPropertiesPanel()); } resourceTable.getColumnModel().getColumn(NAME_COLUMN).setCellEditor(new NameEditor()); resourceTable.getColumnExt(NAME_COLUMN).setToolTipText("The unique name of the resource."); resourceTable.getColumnModel().getColumn(TYPE_COLUMN).setMinWidth(100); resourceTable.getColumnModel().getColumn(TYPE_COLUMN).setMaxWidth(200); resourceTable.getColumnModel().getColumn(TYPE_COLUMN) .setCellRenderer(new ComboBoxRenderer(propertiesPanelMap.keySet().toArray())); resourceTable.getColumnModel().getColumn(TYPE_COLUMN).setCellEditor(new ComboBoxEditor(resourceTable, propertiesPanelMap.keySet().toArray(), 1, true, new ActionListener() { @Override public void actionPerformed(ActionEvent evt) { typeComboBoxActionPerformed(evt); } })); resourceTable.getColumnExt(TYPE_COLUMN).setToolTipText("The type of resource."); resourceTable.getColumnModel().getColumn(GLOBAL_SCRIPTS_COLUMN).setMinWidth(80); resourceTable.getColumnModel().getColumn(GLOBAL_SCRIPTS_COLUMN).setMaxWidth(80); resourceTable.getColumnModel().getColumn(GLOBAL_SCRIPTS_COLUMN).setCellRenderer(new CheckBoxRenderer()); resourceTable.getColumnModel().getColumn(GLOBAL_SCRIPTS_COLUMN).setCellEditor(new CheckBoxEditor()); resourceTable.getColumnExt(GLOBAL_SCRIPTS_COLUMN).setToolTipText( "<html>If checked, libraries associated with the corresponding<br/>resource will be included in global script contexts.</html>"); resourceTable.removeColumn(resourceTable.getColumnModel().getColumn(PROPERTIES_COLUMN)); resourceTable.getSelectionModel().addListSelectionListener(this); resourceTable .setToolTipText("<html>Add or remove resources to use<br/>in specific channels/connectors.</html>"); resourceTable.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT) .put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), "selectNextColumnCell"); resourceListPanel.add(new JScrollPane(resourceTable), "grow, push"); add(resourceListPanel, "grow, h 20%"); for (ResourcePropertiesPanel panel : propertiesPanelMap.values()) { add(panel, "newline, grow, h 80%"); } fillerPanel = new JPanel(new MigLayout("insets 5, novisualpadding, hidemode 3, fill", "", "[][grow]")); fillerPanel.setBackground(getBackground()); fillerPanel.setBorder(BorderFactory.createTitledBorder( BorderFactory.createMatteBorder(1, 0, 0, 0, new Color(204, 204, 204)), "Resource Settings", TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, new Font("Tahoma", 1, 11))); fillerLabel = new JLabel("Select a resource from the table above."); fillerPanel.add(fillerLabel); exceptionTextPane = new JTextPane(); exceptionTextPane.setBackground(new Color(224, 223, 227)); exceptionTextPane.setEditable(false); exceptionScrollPane = new JScrollPane(exceptionTextPane); fillerPanel.add(exceptionScrollPane, "newline, grow"); add(fillerPanel, "newline, grow, h 80%"); }
From source file:edu.ku.brc.af.ui.forms.ViewFactory.java
/** * @param destObj/*from ww w. j ava2 s . c om*/ * @param textField */ public static void addTextFieldPopup(final GetSetValueIFace destObj, final JTextField textField, final boolean doAddDate) { if (textField != null) { JPopupMenu popupMenu = new JPopupMenu(); if (doAddDate) { AbstractAction aa = new AbstractAction("Clear It") { @Override public void actionPerformed(ActionEvent e) { DateWrapper scrDateFormat = AppPrefsCache.getDateWrapper("ui", "formatting", "scrdateformat"); if (scrDateFormat != null) { destObj.setValue(scrDateFormat.format(Calendar.getInstance()), ""); } else { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); destObj.setValue(sdf.format(Calendar.getInstance()), ""); } } }; UIHelper.createLocalizedMenuItem(popupMenu, "ViewFactory.CURR_DATE", "", "", true, aa); KeyStroke ctrlShiftT = KeyStroke.getKeyStroke(KeyEvent.VK_T, InputEvent.CTRL_DOWN_MASK | InputEvent.SHIFT_DOWN_MASK); textField.getInputMap().put(ctrlShiftT, "SetCurrentDate"); textField.getActionMap().put("SetCurrentDate", aa); } String clearField = "ClearField"; AbstractAction clearAction = new AbstractAction(clearField) { @Override public void actionPerformed(ActionEvent e) { destObj.setValue("", ""); } }; UIHelper.createLocalizedMenuItem(popupMenu, "ViewFactory.CLEAR", "", "", true, clearAction); textField.getInputMap().put(KeyStroke.getKeyStroke("F3"), clearField); textField.getActionMap().put(clearField, clearAction); textField.add(popupMenu); textField.setComponentPopupMenu(popupMenu); } }
From source file:JXTransformer.java
public TransformerDemo() { super("Transformer demo"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JMenuBar bar = new JMenuBar(); JMenu lafMenu = new JMenu("LaF"); JMenuItem winLaf = new JMenuItem("Windows LaF"); lafMenu.add(winLaf);/*from ww w . j a v a 2s . c om*/ winLaf.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { setLaf("com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); } }); JMenuItem motifLaf = new JMenuItem("Motif LaF"); lafMenu.add(motifLaf); motifLaf.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { setLaf("com.sun.java.swing.plaf.motif.MotifLookAndFeel"); } }); bar.add(lafMenu); JMenuItem metalLaf = new JMenuItem("Metal LaF"); lafMenu.add(metalLaf); metalLaf.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { setLaf("javax.swing.plaf.metal.MetalLookAndFeel"); } }); JMenu settingsMenu = new JMenu("Settings"); settingsMenu.setMnemonic(KeyEvent.VK_S); JMenuItem item = new JMenuItem("Reset sliders", KeyEvent.VK_R); item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_R, InputEvent.ALT_MASK)); item.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { rotationSlider.setValue(0); scalingSlider.setValue(100); shearingSlider.setValue(0); } }); settingsMenu.add(item); bar.add(settingsMenu); setJMenuBar(bar); JPanel panel = new JPanel(new BorderLayout()); panel.add(createDemoPanel()); panel.add(createStressTestPanel(), BorderLayout.EAST); add(new JScrollPane(panel)); add(new JScrollPane(createToolPanel()), BorderLayout.SOUTH); pack(); }
From source file:edu.purdue.cc.bionet.ui.CorrelationDisplayPanel.java
/** * Adds all of the necessary Components to this Component. *//*w w w .j a v a 2 s . com*/ private void buildPanel() { Language language = Settings.getLanguage(); this.correlationMethodMenu = new JMenu(language.get("Correlation Method")); this.correlationMethodMenuButtonGroup = new ButtonGroup(); this.pearsonCalculationMenuItem = new JRadioButtonMenuItem(language.get("Pearson"), true); this.spearmanCalculationMenuItem = new JRadioButtonMenuItem(language.get("Spearman")); this.kendallCalculationMenuItem = new JRadioButtonMenuItem(language.get("Kendall")); // layout menu itmes this.layoutMenu = new JMenu(language.get("Layout")); this.layoutMenuButtonGroup = new ButtonGroup(); this.multipleCirclesLayoutMenuItem = new JRadioButtonMenuItem(language.get("Multiple Circles")); this.singleCircleLayoutMenuItem = new JRadioButtonMenuItem(language.get("Single Circle"), true); this.randomLayoutMenuItem = new JRadioButtonMenuItem(language.get("Random")); this.heatMapLayoutMenuItem = new JRadioButtonMenuItem(language.get("Heat Map")); this.kkLayoutMenuItem = new JRadioButtonMenuItem(language.get("Kamada-Kawai")); // this.frLayoutMenuItem = // new JRadioButtonMenuItem( language.get( "Fruchterman-Reingold" )); // this.springLayoutMenuItem = // new JRadioButtonMenuItem( language.get( "Spring Layout" )); this.frSpringLayoutMenuItem = new JRadioButtonMenuItem(language.get("Spring Layout")); // this.animatedLayoutMenuItem = new JCheckBoxMenuItem( // language.get( "Fruchterman-Reingold Spring Embedding" )); // view menu items this.viewMenu = new JMenu(language.get("View")); this.zoomInViewMenuItem = new JMenuItem(language.get("Zoom In"), KeyEvent.VK_I); this.zoomOutViewMenuItem = new JMenuItem(language.get("Zoom Out"), KeyEvent.VK_O); this.fitToWindowViewMenuItem = new JMenuItem(language.get("Fit to Window"), KeyEvent.VK_F); this.selectAllViewMenuItem = new JMenuItem(language.get("Select All"), KeyEvent.VK_A); this.clearSelectionViewMenuItem = new JMenuItem(language.get("Clear Selection"), KeyEvent.VK_C); this.invertSelectionViewMenuItem = new JMenuItem(language.get("Invert Selection"), KeyEvent.VK_I); this.selectCorrelatedViewMenuItem = new JMenuItem(language.get("Select Correlated to Selection"), KeyEvent.VK_R); this.hideSelectedViewMenuItem = new JMenuItem(language.get("Hide Selected"), KeyEvent.VK_H); this.hideUnselectedViewMenuItem = new JMenuItem(language.get("Hide Unselected"), KeyEvent.VK_U); this.hideUncorrelatedViewMenuItem = new JMenuItem(language.get("Hide Uncorrelated to Selection"), KeyEvent.VK_L); this.hideOrphansViewMenuItem = new JMenuItem(language.get("Hide Orphans"), KeyEvent.VK_P); this.showCorrelatedViewMenuItem = new JMenuItem(language.get("Show All Correlated to Visible"), KeyEvent.VK_S); this.saveImageAction = new SaveImageAction(language.get("Save Main Graph Image") + "...", null); // groups menu items this.groupsMenu = new JMenu(language.get("Groups")); this.resetSampleGroupsMenuItem = new JMenuItem(language.get("Reset Sample Groups"), KeyEvent.VK_R); this.chooseSampleGroupsMenuItem = new JMenuItem(language.get("Choose Sample Groups") + "...", KeyEvent.VK_C); // color menu items this.colorMenu = new JMenu(language.get("Color")); this.colorMenuButtonGroup = new ButtonGroup(); this.normalColorMenuItem = new JRadioButtonMenuItem(language.get("Normal Color"), true); this.highContrastColorMenuItem = new JRadioButtonMenuItem(language.get("High Contrast Color")); // CORRELATION FILTER ELEMENTS JPanel leftPanel = new JPanel(new BorderLayout()); this.moleculeFilterPanel = new MoleculeFilterPanel(); leftPanel.add(moleculeFilterPanel, BorderLayout.CENTER); this.correlationFilterPanel = new CorrelationFilterPanel(); leftPanel.add(this.correlationFilterPanel, BorderLayout.SOUTH); //CALCULATION MENU this.correlationMethodMenu.setMnemonic(KeyEvent.VK_C); this.correlationMethodMenu.getAccessibleContext() .setAccessibleDescription(language.get("Perform Data Calculations")); this.correlationMethodMenuButtonGroup.add(this.pearsonCalculationMenuItem); this.correlationMethodMenuButtonGroup.add(this.spearmanCalculationMenuItem); this.correlationMethodMenuButtonGroup.add(this.kendallCalculationMenuItem); this.pearsonCalculationMenuItem.setMnemonic(KeyEvent.VK_P); this.spearmanCalculationMenuItem.setMnemonic(KeyEvent.VK_S); this.kendallCalculationMenuItem.setMnemonic(KeyEvent.VK_K); this.correlationMethodMenu.add(this.pearsonCalculationMenuItem); this.correlationMethodMenu.add(this.spearmanCalculationMenuItem); this.correlationMethodMenu.add(this.kendallCalculationMenuItem); this.pearsonCalculationMenuItem.addItemListener(this); this.spearmanCalculationMenuItem.addItemListener(this); this.kendallCalculationMenuItem.addItemListener(this); //LAYOUT MENU LayoutChangeListener lcl = new LayoutChangeListener(); this.layoutMenu.setMnemonic(KeyEvent.VK_L); this.layoutMenu.getAccessibleContext() .setAccessibleDescription(language.get("Change the layout of the graph")); this.layoutMenuButtonGroup.add(this.multipleCirclesLayoutMenuItem); this.layoutMenuButtonGroup.add(this.singleCircleLayoutMenuItem); this.layoutMenuButtonGroup.add(this.randomLayoutMenuItem); this.layoutMenuButtonGroup.add(this.kkLayoutMenuItem); // this.layoutMenuButtonGroup.add( this.frLayoutMenuItem ); // this.layoutMenuButtonGroup.add( this.springLayoutMenuItem ); this.layoutMenuButtonGroup.add(this.frSpringLayoutMenuItem); this.layoutMenuButtonGroup.add(this.heatMapLayoutMenuItem); Enumeration<AbstractButton> e = this.layoutMenuButtonGroup.getElements(); this.layoutMenu.add(this.multipleCirclesLayoutMenuItem); this.layoutMenu.add(this.singleCircleLayoutMenuItem); this.layoutMenu.add(this.randomLayoutMenuItem); this.layoutMenu.add(this.kkLayoutMenuItem); // this.layoutMenu.add( this.frLayoutMenuItem ); // this.layoutMenu.add( this.springLayoutMenuItem ); this.layoutMenu.add(this.frSpringLayoutMenuItem); this.layoutMenu.add(this.heatMapLayoutMenuItem); // this.layoutMenu.addSeparator( ); // this.layoutMenu.add( this.animatedLayoutMenuItem ); this.multipleCirclesLayoutMenuItem.addActionListener(lcl); this.multipleCirclesLayoutMenuItem.setEnabled(false); this.singleCircleLayoutMenuItem.addActionListener(lcl); this.randomLayoutMenuItem.addActionListener(lcl); this.kkLayoutMenuItem.addActionListener(lcl); // this.frLayoutMenuItem.addActionListener( lcl ); this.frSpringLayoutMenuItem.addActionListener(lcl); this.heatMapLayoutMenuItem.addActionListener(lcl); // this.animatedLayoutMenuItem.addActionListener( lcl ); //VIEW MENU this.viewMenu.add(this.colorMenu); this.viewMenu.addSeparator(); this.viewMenu.setMnemonic(KeyEvent.VK_V); this.viewMenu.getAccessibleContext() .setAccessibleDescription(language.get("Change the data view settings")); this.viewMenu.add(this.zoomOutViewMenuItem); this.viewMenu.add(this.zoomInViewMenuItem); this.viewMenu.add(this.fitToWindowViewMenuItem); this.viewMenu.addSeparator(); this.viewMenu.add(this.selectAllViewMenuItem); this.viewMenu.add(this.clearSelectionViewMenuItem); this.viewMenu.add(this.invertSelectionViewMenuItem); this.viewMenu.add(this.selectCorrelatedViewMenuItem); this.viewMenu.addSeparator(); this.viewMenu.add(this.hideSelectedViewMenuItem); this.viewMenu.add(this.hideUnselectedViewMenuItem); this.viewMenu.add(this.hideUncorrelatedViewMenuItem); this.viewMenu.add(this.hideOrphansViewMenuItem); this.viewMenu.add(this.showCorrelatedViewMenuItem); this.viewMenu.addSeparator(); this.viewMenu.add(this.saveImageAction); this.resetSampleGroupsMenuItem.addActionListener(this); this.chooseSampleGroupsMenuItem.addActionListener(this); this.zoomOutViewMenuItem.addActionListener(this); this.zoomInViewMenuItem.addActionListener(this); this.fitToWindowViewMenuItem.addActionListener(this); this.selectAllViewMenuItem.addActionListener(this); this.clearSelectionViewMenuItem.addActionListener(this); this.invertSelectionViewMenuItem.addActionListener(this); this.selectCorrelatedViewMenuItem.addActionListener(this); this.hideSelectedViewMenuItem.addActionListener(this); this.hideUnselectedViewMenuItem.addActionListener(this); this.hideUncorrelatedViewMenuItem.addActionListener(this); this.hideOrphansViewMenuItem.addActionListener(this); this.showCorrelatedViewMenuItem.addActionListener(this); this.selectAllViewMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A, InputEvent.CTRL_DOWN_MASK)); this.clearSelectionViewMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0)); // GROUPS MENU this.groupsMenu.setMnemonic(KeyEvent.VK_G); this.groupsMenu.add(this.resetSampleGroupsMenuItem); this.groupsMenu.add(this.chooseSampleGroupsMenuItem); this.zoomOutViewMenuItem .setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_MINUS, InputEvent.CTRL_DOWN_MASK)); this.zoomInViewMenuItem .setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_EQUALS, InputEvent.CTRL_DOWN_MASK)); this.fitToWindowViewMenuItem .setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_0, InputEvent.CTRL_DOWN_MASK)); this.hideSelectedViewMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_DELETE, 0)); //COLOR MENU this.colorMenu.setMnemonic(KeyEvent.VK_R); this.colorMenu.getAccessibleContext() .setAccessibleDescription(language.get("Change the color of the graph")); this.colorMenuButtonGroup.add(this.normalColorMenuItem); this.colorMenuButtonGroup.add(this.highContrastColorMenuItem); this.colorMenu.add(this.normalColorMenuItem); this.colorMenu.add(this.highContrastColorMenuItem); this.normalColorMenuItem.addItemListener(this); this.highContrastColorMenuItem.addItemListener(this); this.menuBar.add(this.correlationMethodMenu); this.menuBar.add(this.layoutMenu); this.menuBar.add(this.viewMenu); this.menuBar.add(this.groupsMenu); // Add the panels to the main panel this.add(menuBar, BorderLayout.NORTH); // this.add( this.correlationViewPanel, BorderLayout.CENTER ); this.add(leftPanel, BorderLayout.WEST); }
From source file:com.opendoorlogistics.studio.AppFrame.java
private void initWindowMenus(JMenu mnWindow) { mnWindow.add(new AbstractAction("Tile open windows") { @Override// w w w .j ava 2 s .c om public void actionPerformed(ActionEvent e) { tileWindows(); } }).setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_T, Event.CTRL_MASK)); mnWindow.add(new AbstractAction("Cascade open windows") { @Override public void actionPerformed(ActionEvent e) { cascadeWindows(); } }).setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_D, Event.CTRL_MASK)); mnWindow.add(new AbstractAction("Close all open windows") { @Override public void actionPerformed(ActionEvent e) { closeWindows(); } }); mnWindow.add(new AbstractAction("Minimise all open windows") { @Override public void actionPerformed(ActionEvent e) { minimiseWindows(); } }).setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_M, Event.CTRL_MASK)); mnWindow.add(new AbstractAction("Show all tables") { @Override public void actionPerformed(ActionEvent e) { tileTables(); } }); JMenu mnResizeTo = new JMenu("Resize application to..."); for (final int[] size : new int[][] { new int[] { 1280, 720 }, new int[] { 1920, 1080 } }) { mnResizeTo.add(new AbstractAction("" + size[0] + " x " + size[1]) { @Override public void actionPerformed(ActionEvent e) { // set standard layout setSize(size[0], size[1]); splitterLeftPanelMain.setDividerLocation(0.175); splitterTablesScripts.setDividerLocation(0.3); } }); } mnWindow.add(mnResizeTo); }
From source file:ffx.ui.MainMenu.java
private void configureAction(Action a, String icon, String actionCommand, int mnemonic, int accelerator) { String name;//from www.ja v a2 s .co m try { name = locale.getValue(actionCommand); } catch (Exception e) { name = actionCommand; } ImageIcon imageIcon = getIcon(icon); KeyStroke keyStroke = KeyStroke.getKeyStroke(accelerator, keyMask); a.putValue(ACCELERATOR_KEY, keyStroke); a.putValue(ACTION_COMMAND_KEY, actionCommand); a.putValue(MNEMONIC_KEY, mnemonic); a.putValue(NAME, name); a.putValue(SHORT_DESCRIPTION, name); a.putValue(LONG_DESCRIPTION, name); a.putValue(SMALL_ICON, imageIcon); a.putValue(LARGE_ICON_KEY, imageIcon); if (!icon.equalsIgnoreCase("BLANK")) { toolBar.add(a); } }
From source file:com.intuit.tank.proxy.ProxyApp.java
/** * /* w w w. j a v a 2 s .c o m*/ */ @SuppressWarnings("serial") private void createActions() { startAction = new AbstractAction("Start Recording", loadImage("icons/16/control_play_blue.png")) { public void actionPerformed(ActionEvent arg0) { try { start(); } catch (Exception e) { JOptionPane.showMessageDialog(ProxyApp.this, "Error statrting proxy: " + e.toString(), "Error", JOptionPane.ERROR_MESSAGE); } } }; startAction.putValue(javax.swing.Action.SHORT_DESCRIPTION, "Start Recording"); stopAction = new AbstractAction("Stop Recording", loadImage("icons/16/control_stop_blue.png")) { public void actionPerformed(ActionEvent arg0) { try { stop(); } catch (Exception e) { JOptionPane.showMessageDialog(ProxyApp.this, "Error stopping proxy: " + e.toString(), "Error", JOptionPane.ERROR_MESSAGE); } } }; stopAction.setEnabled(false); stopAction.putValue(javax.swing.Action.SHORT_DESCRIPTION, "Stop Recording"); pauseAction = new AbstractAction("Pause Recording", loadImage("icons/16/control_pause_blue.png")) { public void actionPerformed(ActionEvent arg0) { pause(); } }; pauseAction.setEnabled(false); pauseAction.putValue(javax.swing.Action.SHORT_DESCRIPTION, "Pause Recording"); settingsAction = new AbstractAction("Settings", loadImage("icons/16/cog.png")) { public void actionPerformed(ActionEvent arg0) { showSettings(); } }; settingsAction.putValue(javax.swing.Action.SHORT_DESCRIPTION, "Settings"); filterAction = new AbstractAction("Run Filters", loadImage("icons/16/filter.png")) { public void actionPerformed(ActionEvent arg0) { filter(); } }; filterAction.putValue(javax.swing.Action.SHORT_DESCRIPTION, "Run Filters"); filterAction.setEnabled(false); saveAction = new AbstractAction("Save", loadImage("icons/16/save_as.png")) { public void actionPerformed(ActionEvent arg0) { save(); } }; saveAction.setEnabled(false); saveAction.putValue(javax.swing.Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_S, keyMask)); saveAction.putValue(javax.swing.Action.SHORT_DESCRIPTION, "Save"); openAction = new AbstractAction("Open Recording...", loadImage("icons/16/folder_go.png")) { public void actionPerformed(ActionEvent arg0) { openRecording(); } }; openAction.putValue(javax.swing.Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_O, keyMask)); openAction.putValue(javax.swing.Action.SHORT_DESCRIPTION, "Open Recording..."); showHostsAction = new AbstractAction("Hosts...", loadImage("icons/16/page_add.png")) { public void actionPerformed(ActionEvent arg0) { showHosts(); } }; showHostsAction.putValue(javax.swing.Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_H, keyMask)); showHostsAction.putValue(javax.swing.Action.SHORT_DESCRIPTION, "Show Hosts..."); fileChooser = new JFileChooser(new File(".")); fileChooser.setDialogTitle("Open Recording..."); fileChooser.setFileFilter(new XmlFileFilter()); }
From source file:net.sf.jabref.groups.GroupSelector.java
/** * The first element for each group defines which field to use for the quicksearch. The next two define the name and * regexp for the group.//from www . j a v a2s . c om */ public GroupSelector(JabRefFrame frame, SidePaneManager manager) { super(manager, IconTheme.JabRefIcon.TOGGLE_GROUPS.getIcon(), Localization.lang("Groups")); this.groupsRoot = new GroupTreeNode(new AllEntriesGroup()); this.frame = frame; hideNonHits = new JRadioButtonMenuItem(Localization.lang("Hide non-hits"), !Globals.prefs.getBoolean(JabRefPreferences.GRAY_OUT_NON_HITS)); grayOut = new JRadioButtonMenuItem(Localization.lang("Gray out non-hits"), Globals.prefs.getBoolean(JabRefPreferences.GRAY_OUT_NON_HITS)); ButtonGroup nonHits = new ButtonGroup(); nonHits.add(hideNonHits); nonHits.add(grayOut); floatCb.addChangeListener(new ChangeListener() { @Override public void stateChanged(ChangeEvent event) { Globals.prefs.putBoolean(JabRefPreferences.GROUP_FLOAT_SELECTIONS, floatCb.isSelected()); } }); andCb.addChangeListener(new ChangeListener() { @Override public void stateChanged(ChangeEvent event) { Globals.prefs.putBoolean(JabRefPreferences.GROUP_INTERSECT_SELECTIONS, andCb.isSelected()); } }); invCb.addChangeListener(new ChangeListener() { @Override public void stateChanged(ChangeEvent event) { Globals.prefs.putBoolean(JabRefPreferences.GROUP_INVERT_SELECTIONS, invCb.isSelected()); } }); showOverlappingGroups.addChangeListener(new ChangeListener() { @Override public void stateChanged(ChangeEvent event) { Globals.prefs.putBoolean(JabRefPreferences.GROUP_SHOW_OVERLAPPING, showOverlappingGroups.isSelected()); if (!showOverlappingGroups.isSelected()) { groupsTree.setHighlight2Cells(null); } } }); select.addChangeListener(new ChangeListener() { @Override public void stateChanged(ChangeEvent event) { Globals.prefs.putBoolean(JabRefPreferences.GROUP_SELECT_MATCHES, select.isSelected()); } }); grayOut.addChangeListener( event -> Globals.prefs.putBoolean(JabRefPreferences.GRAY_OUT_NON_HITS, grayOut.isSelected())); JRadioButtonMenuItem highlCb = new JRadioButtonMenuItem(Localization.lang("Highlight"), false); if (Globals.prefs.getBoolean(JabRefPreferences.GROUP_FLOAT_SELECTIONS)) { floatCb.setSelected(true); highlCb.setSelected(false); } else { highlCb.setSelected(true); floatCb.setSelected(false); } JRadioButtonMenuItem orCb = new JRadioButtonMenuItem(Localization.lang("Union"), false); if (Globals.prefs.getBoolean(JabRefPreferences.GROUP_INTERSECT_SELECTIONS)) { andCb.setSelected(true); orCb.setSelected(false); } else { orCb.setSelected(true); andCb.setSelected(false); } showNumberOfElements.addChangeListener(new ChangeListener() { @Override public void stateChanged(ChangeEvent e) { Globals.prefs.putBoolean(JabRefPreferences.GROUP_SHOW_NUMBER_OF_ELEMENTS, showNumberOfElements.isSelected()); if (groupsTree != null) { groupsTree.invalidate(); groupsTree.validate(); groupsTree.repaint(); } } }); autoAssignGroup.addChangeListener(new ChangeListener() { @Override public void stateChanged(ChangeEvent event) { Globals.prefs.putBoolean(JabRefPreferences.AUTO_ASSIGN_GROUP, autoAssignGroup.isSelected()); } }); invCb.setSelected(Globals.prefs.getBoolean(JabRefPreferences.GROUP_INVERT_SELECTIONS)); showOverlappingGroups.setSelected(Globals.prefs.getBoolean(JabRefPreferences.GROUP_SHOW_OVERLAPPING)); select.setSelected(Globals.prefs.getBoolean(JabRefPreferences.GROUP_SELECT_MATCHES)); editModeIndicator = Globals.prefs.getBoolean(JabRefPreferences.EDIT_GROUP_MEMBERSHIP_MODE); editModeCb.setSelected(editModeIndicator); showNumberOfElements.setSelected(Globals.prefs.getBoolean(JabRefPreferences.GROUP_SHOW_NUMBER_OF_ELEMENTS)); autoAssignGroup.setSelected(Globals.prefs.getBoolean(JabRefPreferences.AUTO_ASSIGN_GROUP)); openset.setMargin(new Insets(0, 0, 0, 0)); settings.add(andCb); settings.add(orCb); settings.addSeparator(); settings.add(invCb); settings.addSeparator(); settings.add(select); settings.addSeparator(); settings.add(editModeCb); settings.addSeparator(); settings.add(grayOut); settings.add(hideNonHits); settings.addSeparator(); settings.add(showOverlappingGroups); settings.addSeparator(); settings.add(showNumberOfElements); settings.add(autoAssignGroup); // settings.add(moreRow); // settings.add(lessRow); openset.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { if (!settings.isVisible()) { JButton src = (JButton) e.getSource(); showNumberOfElements .setSelected(Globals.prefs.getBoolean(JabRefPreferences.GROUP_SHOW_NUMBER_OF_ELEMENTS)); autoAssignGroup.setSelected(Globals.prefs.getBoolean(JabRefPreferences.AUTO_ASSIGN_GROUP)); settings.show(src, 0, openset.getHeight()); } } }); JButton expand = new JButton(IconTheme.JabRefIcon.ADD_ROW.getSmallIcon()); expand.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { int i = Globals.prefs.getInt(JabRefPreferences.GROUPS_VISIBLE_ROWS) + 1; groupsTree.setVisibleRowCount(i); groupsTree.revalidate(); groupsTree.repaint(); GroupSelector.this.revalidate(); GroupSelector.this.repaint(); Globals.prefs.putInt(JabRefPreferences.GROUPS_VISIBLE_ROWS, i); LOGGER.info("Height: " + GroupSelector.this.getHeight() + "; Preferred height: " + GroupSelector.this.getPreferredSize().getHeight()); } }); JButton reduce = new JButton(IconTheme.JabRefIcon.REMOVE_ROW.getSmallIcon()); reduce.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { int i = Globals.prefs.getInt(JabRefPreferences.GROUPS_VISIBLE_ROWS) - 1; if (i < 1) { i = 1; } groupsTree.setVisibleRowCount(i); groupsTree.revalidate(); groupsTree.repaint(); GroupSelector.this.revalidate(); // _panel.sidePaneManager.revalidate(); GroupSelector.this.repaint(); Globals.prefs.putInt(JabRefPreferences.GROUPS_VISIBLE_ROWS, i); } }); editModeCb.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { editModeIndicator = editModeCb.getState(); updateBorder(editModeIndicator); Globals.prefs.putBoolean(JabRefPreferences.EDIT_GROUP_MEMBERSHIP_MODE, editModeIndicator); } }); int butSize = newButton.getIcon().getIconHeight() + 5; Dimension butDim = new Dimension(butSize, butSize); //Dimension butDimSmall = new Dimension(20, 20); newButton.setPreferredSize(butDim); newButton.setMinimumSize(butDim); refresh.setPreferredSize(butDim); refresh.setMinimumSize(butDim); JButton helpButton = new HelpAction(Localization.lang("Help on groups"), HelpFiles.groupsHelp) .getHelpButton(); helpButton.setPreferredSize(butDim); helpButton.setMinimumSize(butDim); autoGroup.setPreferredSize(butDim); autoGroup.setMinimumSize(butDim); openset.setPreferredSize(butDim); openset.setMinimumSize(butDim); expand.setPreferredSize(butDim); expand.setMinimumSize(butDim); reduce.setPreferredSize(butDim); reduce.setMinimumSize(butDim); Insets butIns = new Insets(0, 0, 0, 0); helpButton.setMargin(butIns); reduce.setMargin(butIns); expand.setMargin(butIns); openset.setMargin(butIns); newButton.addActionListener(this); refresh.addActionListener(this); andCb.addActionListener(this); orCb.addActionListener(this); invCb.addActionListener(this); showOverlappingGroups.addActionListener(this); autoGroup.addActionListener(this); floatCb.addActionListener(this); highlCb.addActionListener(this); select.addActionListener(this); hideNonHits.addActionListener(this); grayOut.addActionListener(this); newButton.setToolTipText(Localization.lang("New group")); refresh.setToolTipText(Localization.lang("Refresh view")); andCb.setToolTipText(Localization.lang("Display only entries belonging to all selected groups.")); orCb.setToolTipText( Localization.lang("Display all entries belonging to one or more of the selected groups.")); autoGroup.setToolTipText(Localization.lang("Automatically create groups for database.")); invCb.setToolTipText(Localization.lang("Show entries *not* in group selection")); showOverlappingGroups.setToolTipText(Localization .lang("Highlight groups that contain entries contained in any currently selected group")); floatCb.setToolTipText(Localization.lang("Move entries in group selection to the top")); highlCb.setToolTipText(Localization.lang("Gray out entries not in group selection")); select.setToolTipText(Localization.lang("Select entries in group selection")); expand.setToolTipText(Localization.lang("Show one more row")); reduce.setToolTipText(Localization.lang("Show one less rows")); editModeCb.setToolTipText(Localization.lang("Click group to toggle membership of selected entries")); ButtonGroup bgr = new ButtonGroup(); bgr.add(andCb); bgr.add(orCb); ButtonGroup visMode = new ButtonGroup(); visMode.add(floatCb); visMode.add(highlCb); JPanel main = new JPanel(); GridBagLayout gbl = new GridBagLayout(); main.setLayout(gbl); GridBagConstraints con = new GridBagConstraints(); con.fill = GridBagConstraints.BOTH; //con.insets = new Insets(0, 0, 2, 0); con.weightx = 1; con.gridwidth = 1; con.gridx = 0; con.gridy = 0; //con.insets = new Insets(1, 1, 1, 1); gbl.setConstraints(newButton, con); main.add(newButton); con.gridx = 1; gbl.setConstraints(refresh, con); main.add(refresh); con.gridx = 2; gbl.setConstraints(autoGroup, con); main.add(autoGroup); con.gridx = 3; con.gridwidth = GridBagConstraints.REMAINDER; gbl.setConstraints(helpButton, con); main.add(helpButton); // header.setBorder(BorderFactory.createMatteBorder(1,1,1,1,Color.red)); // helpButton.setBorder(BorderFactory.createMatteBorder(1,1,1,1,Color.red)); groupsTree = new GroupsTree(this); groupsTree.addTreeSelectionListener(this); groupsTree.setModel(groupsTreeModel = new DefaultTreeModel(groupsRoot)); JScrollPane sp = new JScrollPane(groupsTree, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); revalidateGroups(); con.gridwidth = GridBagConstraints.REMAINDER; con.weighty = 1; con.gridx = 0; con.gridwidth = 4; con.gridy = 1; gbl.setConstraints(sp, con); main.add(sp); JPanel pan = new JPanel(); GridBagLayout gb = new GridBagLayout(); con.weighty = 0; gbl.setConstraints(pan, con); pan.setLayout(gb); con.insets = new Insets(0, 0, 0, 0); con.gridx = 0; con.gridy = 0; con.weightx = 1; con.gridwidth = 4; con.fill = GridBagConstraints.HORIZONTAL; gb.setConstraints(openset, con); pan.add(openset); con.gridwidth = 1; con.gridx = 4; con.gridy = 0; gb.setConstraints(expand, con); pan.add(expand); con.gridx = 5; gb.setConstraints(reduce, con); pan.add(reduce); con.gridwidth = 6; con.gridy = 1; con.gridx = 0; con.fill = GridBagConstraints.HORIZONTAL; con.gridy = 2; con.gridx = 0; con.gridwidth = 4; gbl.setConstraints(pan, con); main.add(pan); main.setBorder(BorderFactory.createEmptyBorder(1, 1, 1, 1)); add(main, BorderLayout.CENTER); updateBorder(editModeIndicator); definePopup(); NodeAction moveNodeUpAction = new MoveNodeUpAction(); moveNodeUpAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_UP, KeyEvent.CTRL_MASK)); NodeAction moveNodeDownAction = new MoveNodeDownAction(); moveNodeDownAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_DOWN, KeyEvent.CTRL_MASK)); NodeAction moveNodeLeftAction = new MoveNodeLeftAction(); moveNodeLeftAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_LEFT, KeyEvent.CTRL_MASK)); NodeAction moveNodeRightAction = new MoveNodeRightAction(); moveNodeRightAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT, KeyEvent.CTRL_MASK)); }
From source file:userinterface.graph.Histogram.java
/** * Generates the property dialog for a Histogram. Allows the user to select either a new or an exisitng Histogram * to plot data on/* www .ja v a2 s . co m*/ * * @param defaultSeriesName * @param handler instance of {@link GUIGraphHandler} * @param minVal the min value in data cache * @param maxVal the max value in data cache * @return Either a new instance of a Histogram or an old one depending on what the user selects */ public static Pair<Histogram, SeriesKey> showPropertiesDialog(String defaultSeriesName, GUIGraphHandler handler, double minVal, double maxVal) { // make sure that the probabilities are valid if (maxVal > 1.0) maxVal = 1.0; if (minVal < 0.0) minVal = 0.0; // set properties for the dialog JDialog dialog = new JDialog(GUIPrism.getGUI(), "Histogram properties", true); dialog.setLayout(new BorderLayout()); JPanel p1 = new JPanel(new FlowLayout()); p1.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), "Number of buckets")); JPanel p2 = new JPanel(new FlowLayout()); p2.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), "Series name")); JSpinner buckets = new JSpinner(new SpinnerNumberModel(10, 5, Integer.MAX_VALUE, 1)); buckets.setToolTipText("Select the number of buckets for this Histogram"); // provides the ability to select a new or an old histogram to plot the series on JTextField seriesName = new JTextField(defaultSeriesName); JRadioButton newSeries = new JRadioButton("New Histogram"); JRadioButton existing = new JRadioButton("Existing Histogram"); newSeries.setSelected(true); JPanel seriesSelectPanel = new JPanel(); seriesSelectPanel.setLayout(new BoxLayout(seriesSelectPanel, BoxLayout.Y_AXIS)); JPanel seriesTypeSelect = new JPanel(new FlowLayout()); JPanel seriesOptionsPanel = new JPanel(new FlowLayout()); seriesTypeSelect.add(newSeries); seriesTypeSelect.add(existing); JComboBox<String> seriesOptions = new JComboBox<>(); seriesOptionsPanel.add(seriesOptions); seriesSelectPanel.add(seriesTypeSelect); seriesSelectPanel.add(seriesOptionsPanel); seriesSelectPanel.setBorder(BorderFactory .createTitledBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), "Add series to")); // provides ability to select the min/max range of the plot JLabel minValsLabel = new JLabel("Min range:"); JSpinner minVals = new JSpinner(new SpinnerNumberModel(0.0, 0.0, minVal, 0.01)); minVals.setToolTipText("Does not allow value more than the min value in the probabilities"); JLabel maxValsLabel = new JLabel("Max range:"); JSpinner maxVals = new JSpinner(new SpinnerNumberModel(1.0, maxVal, 1.0, 0.01)); maxVals.setToolTipText("Does not allow value less than the max value in the probabilities"); JPanel minMaxPanel = new JPanel(); minMaxPanel.setLayout(new BoxLayout(minMaxPanel, BoxLayout.X_AXIS)); JPanel leftValsPanel = new JPanel(new BorderLayout()); JPanel rightValsPanel = new JPanel(new BorderLayout()); minMaxPanel.setBorder( BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), "Range")); leftValsPanel.add(minValsLabel, BorderLayout.WEST); leftValsPanel.add(minVals, BorderLayout.CENTER); rightValsPanel.add(maxValsLabel, BorderLayout.WEST); rightValsPanel.add(maxVals, BorderLayout.CENTER); minMaxPanel.add(leftValsPanel); minMaxPanel.add(rightValsPanel); // fill the old histograms in the property dialog boolean found = false; for (int i = 0; i < handler.getNumModels(); i++) { if (handler.getModel(i) instanceof Histogram) { seriesOptions.addItem(handler.getGraphName(i)); found = true; } } existing.setEnabled(found); seriesOptions.setEnabled(false); // the bottom panel JPanel options = new JPanel(new FlowLayout(FlowLayout.RIGHT)); JButton ok = new JButton("Plot"); JButton cancel = new JButton("Cancel"); // bind keyboard keys to plot and cancel buttons to improve usability ok.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), "ok"); ok.getActionMap().put("ok", new AbstractAction() { private static final long serialVersionUID = -7324877661936685228L; @Override public void actionPerformed(ActionEvent e) { ok.doClick(); } }); cancel.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), "ok"); cancel.getActionMap().put("ok", new AbstractAction() { private static final long serialVersionUID = 2642213543774356676L; @Override public void actionPerformed(ActionEvent e) { cancel.doClick(); } }); //Action listener for the new series radio button newSeries.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { if (newSeries.isSelected()) { existing.setSelected(false); seriesOptions.setEnabled(false); buckets.setEnabled(true); buckets.setToolTipText("Select the number of buckets for this Histogram"); minVals.setEnabled(true); maxVals.setEnabled(true); } } }); //Action listener for the existing series radio button existing.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { if (existing.isSelected()) { newSeries.setSelected(false); seriesOptions.setEnabled(true); buckets.setEnabled(false); minVals.setEnabled(false); maxVals.setEnabled(false); buckets.setToolTipText("Number of buckets can't be changed on an existing Histogram"); } } }); //Action listener for the plot button ok.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { dialog.dispose(); if (newSeries.isSelected()) { hist = new Histogram(); hist.setNumOfBuckets((int) buckets.getValue()); hist.setIsNew(true); } else if (existing.isSelected()) { String HistName = (String) seriesOptions.getSelectedItem(); hist = (Histogram) handler.getModel(HistName); hist.setIsNew(false); } key = hist.addSeries(seriesName.getText()); if (minVals.isEnabled() && maxVals.isEnabled()) { hist.setMinProb((double) minVals.getValue()); hist.setMaxProb((double) maxVals.getValue()); } } }); //Action listener for the cancel button cancel.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { dialog.dispose(); hist = null; } }); dialog.addWindowListener(new WindowAdapter() { @Override public void windowClosed(WindowEvent e) { hist = null; } }); p1.add(buckets, BorderLayout.CENTER); p2.add(seriesName, BorderLayout.CENTER); options.add(ok); options.add(cancel); // add everything to the main panel of the dialog JPanel mainPanel = new JPanel(); mainPanel.setLayout(new BoxLayout(mainPanel, BoxLayout.Y_AXIS)); mainPanel.add(seriesSelectPanel); mainPanel.add(p1); mainPanel.add(p2); mainPanel.add(minMaxPanel); // add main panel to the dialog dialog.add(mainPanel, BorderLayout.CENTER); dialog.add(options, BorderLayout.SOUTH); // set dialog properties dialog.setSize(320, 290); dialog.setLocationRelativeTo(GUIPrism.getGUI()); dialog.setVisible(true); // return the user selected Histogram with the properties set return new Pair<Histogram, SeriesKey>(hist, key); }
From source file:net.sf.xmm.moviemanager.gui.DialogIMDB.java
private void setHotkeyModifiers() { try {// www. jav a 2s .c o m GUIUtil.enableDisposeOnEscapeKey(shortcutManager, "Close window (and discard)", new AbstractAction() { public void actionPerformed(ActionEvent arg0) { setCanceled(true); } }); // ALT+K to show the shortcut map shortcutManager.registerShowKeysKey(); // ALT+S for Select shortcutManager.registerKeyboardShortcut( KeyStroke.getKeyStroke(KeyEvent.VK_S, KeyboardShortcutManager.getToolbarShortcutMask()), "Select/Save selected title", new AbstractAction() { public void actionPerformed(ActionEvent ae) { buttonSelect.doClick(); } }, buttonSelect); // ALT+C for Cancel shortcutManager.registerKeyboardShortcut( KeyStroke.getKeyStroke(KeyEvent.VK_C, KeyboardShortcutManager.getToolbarShortcutMask()), "Cancel (Discard) this movie", new AbstractAction() { public void actionPerformed(ActionEvent ae) { buttonCancel.doClick(); } }, buttonCancel); // ALT+F for search field focus shortcutManager.registerKeyboardShortcut( KeyStroke.getKeyStroke(KeyEvent.VK_F, KeyboardShortcutManager.getToolbarShortcutMask()), "Give search field focus or perform search if already focused.", new AbstractAction() { public void actionPerformed(ActionEvent ae) { if (!searchStringField.hasFocus()) { searchStringField.requestFocusInWindow(); } else { buttonSearch.doClick(); } } }, buttonSearch); shortcutManager.setKeysToolTipComponent(panelMoviesList); } catch (Exception e) { log.warn("Exception:" + e.getMessage(), e); } }