В последнее время я много узнаю о Java GUI, и сейчас я пытаюсь создать игру с угадыванием чисел, в которой, если мы введем слишком большое значение field1, будет отображаться Слишком высоко! в field2 , и если оно слишком низкое, в этом же текстовом поле будет отображаться Too low! * .Если это правильный номер, на дисплее отобразится Правильный номер!Поздравляем! в field2 .Пока что возникает проблема, когда field2 ничего не отображает, и я подозреваю, что btnNewGame не работает так же хорошо.Кто-нибудь может мне помочь в этом вопросе?Заранее большое спасибо, и извините, если об этом спросили раньше!
import javax.swing.*;
import java.awt.*;
import java.util.Random;
public class page339_4 extends JFrame {
int randomNumber = new Random().nextInt(100) + 1; // New game initiator
public page339_4(){
setTitle("Number Guesser");
setSize(400, 200);
setLayout(new BorderLayout(1,0));
JPanel panel1 = new JPanel();
JLabel label = new JLabel("Guess a number here :");
JTextField field1 = new JTextField(10);
panel1.add(label);
panel1.add(field1);
JPanel panel2 = new JPanel();
JTextField field2 = new JTextField();
field2.addActionListener(f2->{
String playerGuess = field1.getText();
int guess = Integer.parseInt(playerGuess);
if (guess > randomNumber) {field2.setText("Too big!"); field2.setBackground(Color.CYAN);}
else if (guess < randomNumber) {field2.setText("Too low!"); field2.setBackground(Color.RED);}
else {field2.setText("Congratulations! Right Number!"); field2.setBackground(Color.GREEN);}
});
panel2.add(field2);
JPanel panel3 = new JPanel();
JButton btnNewGame = new JButton("New Game");
btnNewGame.addActionListener(e->{
int randomNumber = new Random().nextInt(100) + 1;
field2.setText("");
});
panel3.add(btnNewGame);
JButton btnExit = new JButton("Close");
btnExit.addActionListener(e->{
System.exit(0);
});
panel3.add(btnExit);
add(panel1, BorderLayout.NORTH);
add(panel2, BorderLayout.CENTER);
add(panel3, BorderLayout.SOUTH);
pack();
setLocationRelativeTo(null);
setVisible(true);
}