The Java Developers Almanac 1.4


Order this book from Amazon.

   
Home > List of Packages > java.awt  [78 examples] > Focus  [16 examples]

e614. Setting the Initial Focused Component in a Window

There is no straightforward way to set the initial focused component in a window. The typical method is to add a window listener to listen for the window opened event and then make the desired component request the focus.
    // Create frame and three buttons
    JFrame frame = new JFrame();
    JButton component1 = new JButton("1");
    JButton component2 = new JButton("2");
    JButton component3 = new JButton("3");
    
    // Set component with initial focus; must be done before the frame is made visible
    InitialFocusSetter.setInitialFocus(frame, component2);
    
    class InitialFocusSetter {
        public static void setInitialFocus(Window w, Component c) {
            w.addWindowListener(new FocusSetter(c));
        }
    
        public static class FocusSetter extends WindowAdapter {
            Component initComp;
            FocusSetter(Component c) {
                initComp = c;
            }
            public void windowOpened(WindowEvent e) {
                initComp.requestFocus();
    
                // Since this listener is no longer needed, remove it
                e.getWindow().removeWindowListener(this);
            }
        }
    }

 Related Examples
e606. Determining Which Component or Window Has the Focus
e607. Preventing a Component from Gaining the Focus
e608. Preventing a Window from Gaining the Focus
e609. Listening to All Focus Changes Between Components in an Application
e610. Setting Focus Traversal Keys in a Component
e611. Setting Focus Traversal Keys for the Entire Application
e612. Moving the Focus to the Next or Previous Focusable Component
e613. Modifying the Focus Traversal Order
e615. Finding the Next Focusable Component
e616. Determining If a Focus Lost Is Temporary or Permanent
e617. Determining the Opposite Component of a Focus Event
e618. Validating a JTextField When Permanently Losing the Focus
e619. Removing the Focus from the Application
e620. Activating a Keystroke When Any Component in the Window Has Focus
e621. Activating a Keystroke When Any Child Component Has Focus

See also: Colors    Components    Containers    Cursors    Drawing    Events    Frames    GridBagLayout    Images    Shapes    Simulating Events    Text    The Screen   


© 2002 Addison-Wesley.