GUI - Cambiar el color del JFrame

Soy nuevo en Java y necesito tu ayuda para implementar una GUI. A continuación se muestra un código de juego de adivinanzas. Funciona.

  import javax.swing.*;
  import java.awt.*;
  import java.awt.event.ActionEvent;
  import java.awt.event.ActionListener;
  import java.util.Random;

  public class GuessGame extends JFrame {
     private JTextField guessTextField;
     private JLabel introLabel, guessLabel, clueLabel;
     private JButton enterB, playAgainB;

     private int randomNumber;

     public GuessGame() {
        super("Guessing Game!");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        //Creates components
        enterB = new JButton("Guess");
        playAgainB = new JButton("Quit");
        introLabel = new JLabel("I have a number between 1 and 1000.");
        guessLabel = new JLabel("Can you guess my number? Please enter your guess:");

        clueLabel = new JLabel("");
       // comment2 = new JLabel(" ");
        guessTextField = new JTextField(5);

        //content pane
        Container c = getContentPane();
        setLayout(new FlowLayout());

        //adding component to the pane
        c.add(introLabel);
        c.add(guessLabel);
        c.add(guessTextField);
        //c.add(comment2);
        c.add(enterB);
        c.add(playAgainB);
        c.add(clueLabel);

        //enterB.setMnemonic('G');
        //playAgainB.setMnemonic('Q');

        setSize(350, 200);
        setLocationRelativeTo(null);
        setVisible(true);
        //setResizable(false);

        initializeNumber();

        //creating the handler
        GuessButtonHandler ghandler = new GuessButtonHandler(); //instantiate new object
        enterB.addActionListener(ghandler); // add event listener

        QuitButtonHandler qhandler = new QuitButtonHandler();
        playAgainB.addActionListener(qhandler);
     }

     private void initializeNumber() {
        randomNumber = new Random().nextInt(1000) + 1;
        System.out.println(randomNumber);
     }

     class QuitButtonHandler implements ActionListener {
        public void actionPerformed(ActionEvent e) {
           System.exit(0);
        }
     }

     class GuessButtonHandler implements ActionListener {
        public void actionPerformed(ActionEvent e) {
           int getUserInput;
           int diff;
           int Difference;
           try {
              getUserInput = Integer.parseInt(guessTextField.getText().trim());      

              if (getUserInput == randomNumber) {
                  clueLabel.setText("                              Correct!");
              }
              if (getUserInput > randomNumber) {
                 clueLabel.setText("                           Too High");
              } else {
                 clueLabel.setText("                           Too Low");
              }


           } 
           catch (NumberFormatException e1) {
              clueLabel.setText("Enter a VALID number!");
           }
        }


     }



     public static void main(String args[]) {
        //instantiate gueesgame object
         GuessGame app = new GuessGame();

     }
  }

Sin embargo, el color de la ventana debería cambiar a rojo o azul. Por favor, ayúdame con este código. Soy nuevo en Java y es sintaxis. Realmente agradecería tu ayuda. ¡Gracias!

Respuesta 1

Podrías usar:

current = Integer.parseInt(guessTextField.getText().trim()); 
if (!firstTime) {
    if (getUserInput > previous) {
        getContentPane().setBackground(Color.red);
    } else {
        getContentPane().setBackground(Color.blue);
    }
}

donde firstTimey previousson variables de miembro de clase.

No se olvide de asignar previoussi el getUserInput == randomNumberse no se reunieron.

Actualizar:

Está configurando el fondo azul dos veces:

if (getUserInput < randomNumber) {
   clueLabel.setText("Too Low");
   getContentPane().setBackground(Color.blue); <------ remove this extra call
   previous = getUserInput;
}
Respuesta: 2

1) Tengo una función nativa de Java que pasa varios parámetros y su implementación es un constructor nativo de C ++ para crear un objeto y devuelve un largo que se lanza desde el puntero al objeto. Esta ...

Mi código no funciona para este método, estoy tratando de sumar la suma de la suma de los números; si n = 3, devuelve 10; n = 6, devuelve 56; este es mi código: public int sumOfSums (int n) {int [] ...

¿Hay alguna manera de importar la biblioteca externa .net en eclipse? es una biblioteca de creación propia y quiero importarla en eclipse. Es posible ?

[ADVERTENCIA] Regla 3: org.apache.maven.plugins.enforcer.DependencyConvergence falló con el mensaje: Falló al aplicar la capacidad de liberación, los errores son [Error de convergencia de dependencia para xml-apis: ...