docs: private void initComponents() {
  
          borderPanel = new javax.swing.JPanel();
          gamePanel = new javax.swing.JPanel();
          inputsPanel = new javax.swing.JPanel();
          buttonPanel = new javax.swing.JPanel();
          guessButton = new javax.swing.JButton();
          replayBtn = new javax.swing.JButton();
          guessText = new javax.swing.JTextField();
          remainingGuessesPanel = new javax.swing.JPanel();
          guessremainLabel = new javax.swing.JLabel();
          guessesLeftBar = new javax.swing.JProgressBar();
          mainMsgPanel = new javax.swing.JPanel();
          mainLabel = new javax.swing.JLabel();
          messageLabel = new javax.swing.JLabel();
  
          setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
          getContentPane().setLayout(new java.awt.CardLayout());
  
          borderPanel.setBorder(javax.swing.BorderFactory.createEmptyBorder(10, 10, 10, 10));
          borderPanel.setLayout(new java.awt.CardLayout());
  
          gamePanel.setLayout(new java.awt.BorderLayout(6, 6));
  
          inputsPanel.setLayout(new java.awt.BorderLayout(8, 8));
  
          buttonPanel.setLayout(new java.awt.CardLayout());
  
          guessButton.setText("Guess");
          guessButton.addActionListener(new java.awt.event.ActionListener() {
              public void actionPerformed(java.awt.event.ActionEvent evt) {
                  guessButtonActionPerformed(evt);
              }
          });
          buttonPanel.add(guessButton, "card2");
  
          replayBtn.setText("Replay!");
          replayBtn.addActionListener(new java.awt.event.ActionListener() {
              public void actionPerformed(java.awt.event.ActionEvent evt) {
                  replayBtnActionPerformed(evt);
              }
          });
          buttonPanel.add(replayBtn, "card3");
  
          inputsPanel.add(buttonPanel, java.awt.BorderLayout.LINE_END);
          inputsPanel.add(guessText, java.awt.BorderLayout.CENTER);
  
          gamePanel.add(inputsPanel, java.awt.BorderLayout.CENTER);
  
          remainingGuessesPanel.setLayout(new java.awt.BorderLayout(8, 8));
  
          guessremainLabel.setText("Guesses remaining:  ");
          remainingGuessesPanel.add(guessremainLabel, java.awt.BorderLayout.LINE_START);
  
          guessesLeftBar.setMaximum(Game.MAX_NUM_GUESSES);
          guessesLeftBar.setValue(Game.MAX_NUM_GUESSES);
          guessesLeftBar.setPreferredSize(new java.awt.Dimension(10, 14));
          remainingGuessesPanel.add(guessesLeftBar, java.awt.BorderLayout.CENTER);
  
          gamePanel.add(remainingGuessesPanel, java.awt.BorderLayout.PAGE_END);
  
          mainMsgPanel.setLayout(new java.awt.GridLayout(2, 1, 6, 6));
  
          mainLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
          mainLabel.setText(msgGenerator.getChallengeMessage());
          mainMsgPanel.add(mainLabel);
  
          messageLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
          messageLabel.setText(msgGenerator.getResultMessage());
          mainMsgPanel.add(messageLabel);
  
          gamePanel.add(mainMsgPanel, java.awt.BorderLayout.PAGE_START);
  
          borderPanel.add(gamePanel, "card2");
  
          getContentPane().add(borderPanel, "card2");
  
          pack();
      }