title: Java guessing game
body: <p>I am trying to write a program in Java that takes a random number from 1-1000 and then as the guess it the background color changes to blue(cold) or red(warm) if they are in the number. I am new to java GUI, but I think the rest of the logic is right, not sure. It compiles, but the guess button doesn't work. Any guidance will be appreciated. </p>
  
  <pre><code>package guessGame;
  import java.awt.*;
  import java.awt.event.*;
  import javax.swing.*;
  import java.awt.color.*;
  import java.util.Random;
  
  
  import java.util.Random;
  import java.util.logging.FileHandler;
  import java.awt.event.ActionEvent;
  import java.awt.event.ActionListener;
  import java.awt.event.WindowAdapter;
  import java.awt.event.WindowEvent;
  
  public class GuessGame extends JFrame
  {
      private JFrame mainFrame;
      private JButton GuessButton;
      private JButton QuitButton;
      private JLabel prompt1, prompt2;
      private JTextField userInput;
      private JLabel comment = new JLabel("What is your destiny?");
      private JLabel comment2 = new JLabel (" ");
      //private int number, guessCount;
      //private int lastGuess;
      private int randomNumber;
      private Color background;
  
  
      public GuessGame()
      {
          mainFrame = new JFrame ("Guessing Game!");
          setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          //Creates components
          GuessButton = new JButton("Guess");
          QuitButton  = new JButton("Quit");
          prompt1 = new JLabel("I have a number between 1 and 1000.");
          prompt2 = new JLabel("Can you guess my number? Enter your Guess:");
          comment = new JLabel ("What is your destiny?");
          comment2 = new JLabel (" ");
          userInput = new JTextField(5);
          //userInput.addActionListener(new GuessHandler());
  
          //content pane
          Container c = mainFrame.getContentPane();
          c.setLayout(new FlowLayout());
  
          //adding component to the pane
          c.add(prompt1);
          c.add(prompt2);
          c.add(userInput);
          c.add(comment2);
          c.add(GuessButton);
          c.add(QuitButton);
          c.add(comment);
  
          GuessButton.setMnemonic('G');
          QuitButton.setMnemonic('Q');
  
          mainFrame.setSize(300,200);
          mainFrame.setLocationRelativeTo(null);
          mainFrame.setVisible(true);
          mainFrame.setResizable(false);
  
          // define and register window event handler
      //  mainFrame.addWindowListener(new WindowAdapter() {
      //      public void windowClosing(WindowEvent e) 
      //      { System.exit(0); }
      //  });
  
          //creating the handler
          GuessButtonHandler ghandler = new GuessButtonHandler(); //instantiate new object
          GuessButton.addActionListener(ghandler); // add event listener
  
          QuitButtonHandler qhandler = new QuitButtonHandler(); 
          QuitButton.addActionListener(qhandler); 
  
  
  
      }
  
      public void paint (Graphics g)
      {
          super.paint(g);
          setBackground(background);
      }
  
      class QuitButtonHandler implements ActionListener
      {
          public void actionPerformed(ActionEvent e)
          {
              System.exit(0);
          }
      }
  
      class GuessButtonHandler implements ActionListener
      {
          public void actionPerformed(ActionEvent e)
          {
              int getUserInput=0;
              int diff;
              int Difference;
              randomNumber = new Random().nextInt(1001);
              try {
                  getUserInput = Integer.parseInt(
                          userInput.getText().trim());
              } catch (NumberFormatException ex){
                  comment.setText("Enter a VALID number!");
                  return;
              }
              if (getUserInput == randomNumber){
                  JOptionPane.showMessageDialog(null, "CONGRATULATIONS! You got it!!",
                          "Random Number: " + randomNumber, 
                          JOptionPane.INFORMATION_MESSAGE);
                  randomNumber = new Random().nextInt(1000) + 1;
                  return;
              }
              if (getUserInput &gt; randomNumber){
                  comment.setText( "Too High. Try a lower number." );
                  diff=getUserInput - randomNumber;
                  Difference=Math.abs(diff);
              } else {
                  comment.setText( "Too Low. Try a higher number." );
                  diff=randomNumber - getUserInput;
                  Difference=Math.abs(diff);
              }
  
              if(Difference&lt;=25){
                  comment2.setText("Cold");
                  setBackgroundColor(Color.blue);
              }
  
              if(Difference&lt;=10){
                  comment2.setText("Warm");
                  setBackgroundColor(Color.red);
              }
  
              else {
              }
          }
          private void setBackgroundColor(Color color) {
                 setBackgroundColor(color);
              }
      }
  
  
      public static void main(String args[]) {
          //instantiate gueesgame object
          GuessGame app = new GuessGame();
  
      }
  }
  </code></pre>