Answer:
import javax.swing.*;
import java.awt.*;
import java.util.Random;
import java.awt.event.*;
public class Guess extends JFrame
{
private static final long serialVersionUID = 1L;
private JButton newGame;
private JButton enter;
private JButton exit;
private JTextField guess;
private JLabel initialTextLabel;
private JLabel enterLabel;
private JLabel userMessageLabel;
private int randNum;
private int userInput;
private int maxtries = 0;
public Guess()
{
super("Guessing Game");
newGame = new JButton("New Game");
exit = new JButton("Exit Game");
enter = new JButton("Enter");
guess = new JTextField(4);
initialTextLabel = new JLabel("I'm thinking of a number between 1 and 100. Guess it!");
enterLabel = new JLabel("Enter your guess.");
userMessageLabel = new JLabel("");
randNum = new Random().nextInt(100) + 1;
setLayout(new FlowLayout());
add(initialTextLabel);
add(enterLabel);
add(guess);
add(newGame);
add(enter);
add(exit);
add(userMessageLabel);
setSize(500, 300);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
newGameButtonHandler nghandler = new newGameButtonHandler();
newGame.addActionListener(nghandler);
ExitButtonHandler exithandler = new ExitButtonHandler();
exit.addActionListener(exithandler);
enterButtonHandler enterhandler = new enterButtonHandler();
enter.addActionListener(enterhandler);
}
class newGameButtonHandler implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
setBackground(Color.ORANGE);
guess.setEnabled(true);
guess.setText("");
enter.setEnabled(true);
maxtries = 0;
userMessageLabel.setText("");
randNum = new Random().nextInt(100) + 1;
}
}
class ExitButtonHandler implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
}
class enterButtonHandler implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
userInput = Integer.parseInt(guess.getText());
checkGuess(randNum);
if(userInput > 100 )
{
userMessageLabel.setText("invalid entry");
}
}
}
public void checkGuess(int randomNumber)
{
maxtries++;
if(maxtries==10){
userMessageLabel.setText("You Lose!!");
guess.setEnabled(false);
enter.setEnabled(false);
}else if (userInput == randomNumber)
{
userMessageLabel.setText("Correct !");
}
else if (userInput > randomNumber)
{
userMessageLabel.setText("Too high");
}
else if (userInput < randomNumber)
{
userMessageLabel.setText("Too Low");
}
}
public static void main(String[] args)
{
Guess game = new Guess();
game.setVisible(true);
}
}