docs: private void initComponents(String initialMessage, String initialUsername, LoginDialog loginDialog)
      {
      	this.loginDialog = loginDialog;
          java.awt.GridBagConstraints gridBagConstraints;
  
          getContentPane().setLayout(new java.awt.GridBagLayout());
  
          addWindowListener(new java.awt.event.WindowAdapter() {
              public void windowClosing(java.awt.event.WindowEvent evt) {
                  closeDialog(evt);
              }
          });
  
          userMessage = new javax.swing.JLabel();
          userMessage.setText(initialMessage);
          gridBagConstraints = new java.awt.GridBagConstraints();
          gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
          gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
          getContentPane().add(userMessage, gridBagConstraints);
  
          userLabel = new javax.swing.JLabel();
          userLabel.setText("Email address");
          gridBagConstraints = new java.awt.GridBagConstraints();
          gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
          getContentPane().add(userLabel, gridBagConstraints);
  
          userField = new javax.swing.JTextField(20);
          userField.setText(initialUsername);
          gridBagConstraints = new java.awt.GridBagConstraints();
          gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
          gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
          getContentPane().add(userField, gridBagConstraints);
  
          passwordLabel = new javax.swing.JLabel();
          passwordLabel.setText("Password");
          gridBagConstraints = new java.awt.GridBagConstraints();
          gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
          getContentPane().add(passwordLabel, gridBagConstraints);
          
          passwordField = new javax.swing.JPasswordField(20);
          gridBagConstraints = new java.awt.GridBagConstraints();
          gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
          gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
          getContentPane().add(passwordField, gridBagConstraints);
  
          rePasswordLabel = new javax.swing.JLabel();
          rePasswordLabel.setText("Confirm password");
          gridBagConstraints = new java.awt.GridBagConstraints();
          gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
          getContentPane().add(rePasswordLabel, gridBagConstraints);
          
          rePasswordField = new javax.swing.JPasswordField(20);
          gridBagConstraints = new java.awt.GridBagConstraints();
          gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
          gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
          getContentPane().add(rePasswordField, gridBagConstraints);
  
          saveInfoCheckbox = new javax.swing.JCheckBox();
          saveInfoCheckbox.setText("Remember me?");
          gridBagConstraints = new java.awt.GridBagConstraints();
          gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
          gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
          getContentPane().add(saveInfoCheckbox, gridBagConstraints);
  
          loginButton = new javax.swing.JButton();
          loginButton.setText("Submit");
          loginButton.addActionListener(new java.awt.event.ActionListener() {
              public void actionPerformed(java.awt.event.ActionEvent evt) {
                  loginButtonActionPerformed(evt);
              }
          });
          gridBagConstraints = new java.awt.GridBagConstraints();
          gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
          getContentPane().add(loginButton, gridBagConstraints);
          getRootPane().setDefaultButton(loginButton);
          
          cancelButton = new javax.swing.JButton();
          cancelButton.setText("Cancel");
          cancelButton.addActionListener(new java.awt.event.ActionListener() {
              public void actionPerformed(java.awt.event.ActionEvent evt) {
                  cancelButtonActionPerformed(evt);
              }
          });
          gridBagConstraints = new java.awt.GridBagConstraints();
          gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
          getContentPane().add(cancelButton, gridBagConstraints);
  
          pack();
      }