Enabling an Action

Actions can be bound to many different kinds of components. When an action is enabled or disabled, components that are bound to that action may automatically alter its display to match the enabled state of the action. This example creates three components: a button, a text component, and a menu item – – all bound to the same action. When the action is disabled, the button and menu item will appear disabled and the text component will not be able to invoke the action.
JFrame frame = new JFrame(); // Button JButton button = new JButton(action); // Text Component JTextField textfield = new JTextField(); textfield.getInputMap(JComponent.WHEN_FOCUSED).put( KeyStroke.getKeyStroke("F2"), action.getValue(Action.NAME)); textfield.getActionMap().put(action.getValue(Action.NAME), action); // Menu Item JMenuBar menuBar = new JMenuBar(); JMenu menu = new JMenu("Menu Label"); menu.add(new JMenuItem(action)); menuBar.add(menu); frame.setJMenuBar(menuBar); // The action public Action action = new AbstractAction("Action Name") { public void actionPerformed(ActionEvent evt) { // Perform action } };

Post a comment

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image. Ignore spaces and be careful about upper and lower case.