package guessGame;
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class guessGame {
private static JFrame jf;
private static Container c;
private static JPanel jp1 =new JPanel();
private static JPanel jp =new JPanel();
private static JLabel jlb =new JLabel();
private static JTextField jtf =new JTextField();
private static JButton jb =new JButton("重新开始");
private static JLabel jl =new JLabel("请输入你猜的数字",JLabel.CENTER);
public static void main(String[] args)
{
setWindow();
setEvent();
}
//设置GUI界面
public static void setWindow()
{
jf =new JFrame("猜数游戏");
c =jf.getContentPane();
c.setLayout(new BoxLayout(c,BoxLayout.Y_AXIS));
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setSize(233, 288);
jf.setLocationRelativeTo(null);
jtf.setHorizontalAlignment(JTextField.CENTER);
jtf.setSize(233,188);
jl.setPreferredSize(new Dimension(233,68));
jp1.add(jlb);
jp.add(jl);
jp1.setBackground(Color.YELLOW);
jlb.setText("猜字次数:0");
jp1.add(jb);
c.add(jtf);
c.add(jp1);
c.add(jp);
jf.setVisible(true);
jf.setResizable(false);
}
//设置监听事件
public static void setEvent()
{
jtf.addKeyListener(new KeyListener()
{
int i = 0;
int randomNumber =(int)(Math.random()*100+1);
public void keyPressed(KeyEvent e)
{
int key =e.getKeyCode();
int guessNumber;
if(key=='\n')
{
try
{
guessNumber =Integer.parseInt(jtf.getText());
if(guessNumber>100||guessNumber<=0)
throw new Exception();
i++;
jlb.setText("猜字次数:"+i);
jtf.setText(null);
//比较猜的值和随机生成的值是否相同
if(randomNumber<guessNumber)
jl.setText("输入的整数太大");
if(randomNumber>guessNumber)
jl.setText("输入的整数太小");
if(randomNumber==guessNumber)
{
if(i<4)
{
jl.setText("猜对了!");
JOptionPane.showMessageDialog(null, "恭喜!");
}
if(i>=4)
{
jl.setText("猜对了!");
JOptionPane.showMessageDialog(null,"继续努力!");
}
}
}
catch(Exception e1)
{
jl.setText("请输入1~100以内的整数");
}
}
jb.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
i=0;
jtf.setText("");
jlb.setText("猜字次数:"+i);
jl.setText("请输入你猜的数字");
randomNumber =(int)(Math.random()*100+1);
}}
);
}
public void keyTyped(KeyEvent e) {
}
public void keyReleased(KeyEvent e) {
}
});
}
}
猜数游戏(GUI界面)
需积分: 50 165 浏览量
2019-01-19
20:46:12
上传
评论 4
收藏 5KB ZIP 举报
DeeMo
- 粉丝: 1
- 资源: 3
最新资源
- Screenshot_20240427_031602.jpg
- 网页PDF_2024年04月26日 23-46-14_QQ浏览器网页保存_QQ浏览器转格式(6).docx
- 直接插入排序,冒泡排序,直接选择排序.zip
- 在排序2的基础上,再次对快排进行优化,其次增加快排非递归,归并排序,归并排序非递归版.zip
- 实现了7种排序算法.三种复杂度排序.三种nlogn复杂度排序(堆排序,归并排序,快速排序)一种线性复杂度的排序.zip
- 冒泡排序 直接选择排序 直接插入排序 随机快速排序 归并排序 堆排序.zip
- 课设-内部排序算法比较 包括冒泡排序、直接插入排序、简单选择排序、快速排序、希尔排序、归并排序和堆排序.zip
- Python排序算法.zip
- C语言实现直接插入排序、希尔排序、选择排序、冒泡排序、堆排序、快速排序、归并排序、计数排序,并带图详解.zip
- 常用工具集参考用于图像等数据处理
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈