title: Java GUI: How to Set Focus on JButton in JPanel on JFrame?
body: <p>I've experimented and searched and I can't seem to figure out what I thought would be something simple, which is having my START button have focus when my little GUI app launches I.e., so all the user has to do is press their Enter/Return key, which will have the same effect as if they had clicked the START button with their mouse. Here is my code. Thanks for your help :)</p>
  
  <pre><code>private void initialize() {
  
     // Launch the frame:
     frame = new JFrame();
     frame.setTitle("Welcome!");
     frame.setSize(520, 480);
     frame.setLocationRelativeTo(null);
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  
     // Add the image:
     ImageIcon heroShotImage = new ImageIcon("heroShot.jpg");
     JPanel heroShotPanel = new JPanel();
     JLabel heroShot = new JLabel(heroShotImage);
     heroShotPanel.add(heroShot);
  
     // Create a panel to hold the "Start" button:
     JPanel submitPanel = new JPanel(new FlowLayout(FlowLayout.CENTER));
  
     // Create the "Start" button, which launches business logic and dialogs:
     JButton start = new JButton("Start");
     start.setToolTipText("Click to use library");
     start.setFocusable(true); // How do I get focus on button on App launch?
     start.requestFocus(true); // Tried a few things and can't get it to work.
  
     // Listen for user actions and do some basic validation:
     start.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
        // THE APP's LOGIC GOES HERE...
        }
  
     // Finish setting up the GUI and its components, listeners, and actions:
     submitPanel.add(start);
  
     frame.getContentPane().add(heroShotPanel, BorderLayout.NORTH);
         frame.getContentPane().add(submitPanel, BorderLayout.SOUTH);
  
  }
  </code></pre>