java猜数游戏图形界面
时间: 2023-09-25 07:16:23 浏览: 46
以下是一个简单的Java猜数游戏的图形界面示例:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class GuessNumberGame extends JFrame implements ActionListener {
private JLabel titleLabel, guessLabel, resultLabel;
private JTextField guessTextField;
private JButton guessButton, resetButton;
private int randomNumber;
private int guessCount;
public GuessNumberGame() {
super("Guess Number Game");
setLayout(new GridLayout(4, 2, 5, 5));
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Title Label
titleLabel = new JLabel("Guess a number between 1 and 100");
add(titleLabel);
// Guess Label
guessLabel = new JLabel("Your guess:");
add(guessLabel);
// Guess TextField
guessTextField = new JTextField(10);
add(guessTextField);
// Guess Button
guessButton = new JButton("Guess");
guessButton.addActionListener(this);
add(guessButton);
// Reset Button
resetButton = new JButton("Reset");
resetButton.addActionListener(this);
add(resetButton);
// Result Label
resultLabel = new JLabel("");
add(resultLabel);
// Generate Random Number
randomNumber = (int) (Math.random() * 100) + 1;
guessCount = 0;
pack();
setLocationRelativeTo(null);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
String actionCommand = e.getActionCommand();
if (actionCommand.equals("Guess")) {
guessCount++;
try {
int guess = Integer.parseInt(guessTextField.getText());
if (guess < 1 || guess > 100) {
resultLabel.setText("Invalid guess. Please enter a number between 1 and 100.");
} else if (guess < randomNumber) {
resultLabel.setText("Your guess is too low.");
} else if (guess > randomNumber) {
resultLabel.setText("Your guess is too high.");
} else {
resultLabel.setText("Congratulations! You guessed the number in " + guessCount + " tries.");
guessButton.setEnabled(false);
}
} catch (NumberFormatException ex) {
resultLabel.setText("Invalid guess. Please enter a number between 1 and 100.");
}
} else if (actionCommand.equals("Reset")) {
guessTextField.setText("");
resultLabel.setText("");
guessButton.setEnabled(true);
randomNumber = (int) (Math.random() * 100) + 1;
guessCount = 0;
}
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new GuessNumberGame();
}
});
}
}
```
这个游戏界面包含一个标题标签,一个猜测标签,一个文本框和两个按钮(猜测和重置)。当玩家点击猜测按钮时,程序会检查玩家的猜测是否正确并显示相应的提示。当玩家猜对时,程序会禁用猜测按钮,并显示玩家猜测的次数。当玩家点击重置按钮时,程序会生成一个新的随机数字并重置猜测次数。