title: GUI elements not showing until resize of window
body: <p>I have been experimenting with making GUIs in java as opposed to just using "static" all the time and come across the "SwingUtilities.invokeLater()" method. I manage to get everything setup but when it comes to run the application, nothing appears on the JPanel until I resize the window. Is there a fix for this or am I doing it wrong?</p>
  
  <p>Heres my code:</p>
  
  <pre><code>public class main extends JPanel implements ActionListener{ 
  public JLabel userLabel;
  public JLabel passLabel;
  public JTextField userField;
  public JTextField passField;
  public JButton login;
  public JButton closeLogin;
  public JButton help;
  
  public main(){
      userLabel = new JLabel("Username: ");
      passLabel = new JLabel("Password: ");
      userField = new JTextField(16);
      passField = new JTextField(16);
  
      login = new JButton("Login");
      login.setActionCommand("login");
      login.setMnemonic(KeyEvent.VK_L);
      closeLogin = new JButton("Close");
      closeLogin.setActionCommand("closeLogin");
      closeLogin.setMnemonic(KeyEvent.VK_E);
      help = new JButton("Help");
      help.setActionCommand("helpLogin");
      help.setMnemonic(KeyEvent.VK_H);
  
      login.addActionListener(this);
      closeLogin.addActionListener(this);
      help.addActionListener(this);
  
      add(userLabel);
      add(userField);
      add(passLabel);
      add(passField);
      add(login);
      add(help);
      add(closeLogin);
  
  }
  public void actionPerformed(ActionEvent e){ 
  }
  public static void initComponents(){
      JFrame loginFrame = new JFrame("Encrypted Chat - Login");
      loginFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      main loginPanel = new main();
      loginPanel.setLayout(new FlowLayout());
      loginFrame.setSize(300, 125);
      loginFrame.setResizable(false);
      loginFrame.setVisible(true);        
  }
  public static void main(String args[]){
      SwingUtilities.invokeLater(new Runnable(){
          public void run(){
              initComponents();
          }
      });
  }
  </code></pre>
  
  <p>}</p>
  
  <p>EDIT: I know the password JTextField is meant to be a JPasswordField.. so ignore it :P</p>