![]() |
The Java Developers Almanac 1.4Order this book from Amazon. |
e857. Enabling an ActionActions 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 } };
e856. Listing the Actions in a Component © 2002 Addison-Wesley. |