猜数字小游戏

不废话想看看效果吧!

当我们答对后就会出现:

如果你实在急着想知道答案:

简要说明:

  1. 所猜测的数字为1~1000;
  2. 只能通过按确定输出答案,未设置Enter键直接输入的监控。
  3. 退出请直接点击叉叉无另外设置退出键。

代码段(许多解释已有注释)

设置一个类产生随机数,并可以通过其中的方法取得该随机数;


package GUI;import java.util.Random;
public class numberMannerge {private int rnum = 0;Random r = new Random();public void setNumber() {this.rnum = r.nextInt(999) + 1;}public int getNumber() {return this.rnum;}
}

未直接通过继承JFrame类来实现,大家可以试试用继承JFrame类来实现,这样比较方便。

package GUI;import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
import java.awt.BorderLayout;
import javax.swing.*;
import javax.xml.ws.handler.MessageContext.Scope;public class text_gui {private static void createAndShowGui() {int j = 0;//猜测的次数//创建一个用于生成数据获得数据的对象。numberMannerge manners = new numberMannerge();manners.setNumber();//设置一个随机数。JFrame f = new JFrame("猜数字小游戏");f.setLayout(new BorderLayout());//设置页面布局。f.setSize(600, 300);//GUI大小设置f.setLocation(300, 200);//GUI出现在屏幕的位置。//创建文本域showArea用来显示文本,并且指定其行列的大小。JTextArea showArea = new JTextArea(12,13);//创建JscrollPane滚动面板,滚动条策略:只有文本超出面板才会出现滚动条JScrollPane scrollpane = new JScrollPane(showArea);showArea.setEditable(false);//设置文本域不可编辑//设置文本框用于写入猜测的数字。JTextField inpuField = new JTextField(20);JLabel label = new JLabel("猜测数字");//标签JButton btn1 = new JButton("确定");JButton btn2 = new JButton("想看答案");btn2.addActionListener(e->{showArea.setText("");//将文本域内容清空。showArea.append("答案是:"+manners.getNumber()+"\n再来一次吧!\n");manners.setNumber();//设置一个新的随机数。});//运用匿名方法设置btn1的监控。btn1.addActionListener(e->{//获取玩家输入的数字。String content = inpuField.getText();boolean bool = true;//检测玩家是否未输入,或仅仅输入了空格。if(content != null&&!content.trim().equals("")) {Integer a = Integer.valueOf(content);int rnum = manners.getNumber();if(a==rnum) {//将我们要给玩家的提示输入文本域。showArea.append("你答对啦!!!"+"\n");bool = false;}else if(a < rnum) {showArea.append("你的数"+a+"小了点,再输入一次吧!"+"\n");   }else {showArea.append("你的数"+a+"太大啦,再输入一次吧!"+"\n");}}else {showArea.append("输入不能为空!!!"+"\n");}if(!bool) {manners.setNumber();showArea.setText("");showArea.append("数字发生改变,开始新的一局!\n");}inpuField.setText("");});//将标签、按钮等组件放入panel容器中。JPanel panel = new JPanel();panel.add(label);panel.add(inpuField);panel.add(btn1);panel.add(btn2);//将各个容器放入顶级容器中。//并且为它们安排好在容器的位置。f.add(scrollpane,BorderLayout.PAGE_START);f.add(panel,BorderLayout.CENTER);f.setVisible(true);//窗体是否可见。f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭符号。}public static void main(String[] args) {//使用SwingUtilities工具类调用createAndShowGui方法执行并显示GUI程序。SwingUtilities.invokeLater(text_gui::createAndShowGui);}}

Java基于GUI完成的猜数字小游戏相关推荐

  1. java利用do-while循环实现猜数字小游戏

    java小题: //随机产生一个1-100之间的整数, //每次猜完之后都要提示"大了"或者"小了" import java.util.Scanner;publ ...

  2. java编写数字游戏大全_Java编写猜数字小游戏

    本文实例讲述了java实现的简单猜数字游戏代码.分享给大家供大家参考. 以下是java语言写的一个猜数字小游戏引用片段: import java.text.simpledateformat; impo ...

  3. 猜数字游戏java编程_Java编写猜数字小游戏

    本文实例讲述了java实现的简单猜数字游戏代码.分享给大家供大家参考. 以下是Java语言写的一个猜数字小游戏引用片段: import java.text.SimpleDateFormat; impo ...

  4. Python四行代码实现的猜数字小游戏,基于thinker,带GUI界面

    Python四行代码实现的猜数字小游戏,基于thinker,带GUI界面 from tkinter import * from tkinter import messagebox 导入提示框 from ...

  5. 小玩意:猜数字小游戏(Java GUI)

    猜数字小游戏(Java GUI) 又到了学期末,又到了交各种各样作业的时间.悉听闻面向对象的小作业,诶,课程设计四选一,还没写,得嘞,得写了. 找一天,开始写,放正文 游戏规则 游戏规则,顾名思义,游 ...

  6. Python编写的猜数字小游戏~~~基于Tkinter库

    Python编写猜数字小游戏 编写猜数字小游戏 一.界面 1.PyQt5 2. wxPython 3. PyGTK 二.Tkinter功能 ① 15种核心组件 ② 组件的放置和排版(pack,grid ...

  7. python实现简单小游戏_用python开发一个有趣的猜数字小游戏(实现简单的GUI界面学习)...

    文章目录 用python开发一个有趣的猜数字小游戏 用于字符串的格式化,通过 {} 和 : 来代替以前的 % 1. python的GUI编程 1.1 pythonGUI常用库对比 Python 提供了 ...

  8. 第三次学JAVA再学不好就吃翔(part28)--猜数字小游戏

    学习笔记,仅供参考 面向对象 猜数字小游戏 随机生成一个1 ~ 100之间的数,我来猜是几: import java.util.Scanner;class GuessNumTest {public s ...

  9. 初识JAVA:猜数字小游戏案例---系统产生一个1-100之间的随机数,猜出这个数是多少?

    package com.pku.wuyu.io; import java.util.IllegalFormatCodePointException; import java.util.Random; ...

最新文章

  1. pythonshell画图_Python Shell下使用matplotlib
  2. 计算机程序的思维逻辑 (38) - 剖析ArrayList
  3. html5 Canvas画图教程(5)—canvas里画曲线之arc方法
  4. Linux frame buffer 编程 -- fb基本操作
  5. 工程师如何解决穿衣搭配烦恼?——滴搭平台与算法
  6. java虚拟机 第二章Java内存区域与内存溢出异常
  7. Django进阶之CSRF
  8. http://www.baidu.com/cb.php?,帮助文档首页/百度翻译
  9. 港股通Level2介绍
  10. SELECT 1 FROM DUAL中的DUAL的作用
  11. 【防火墙篇】03. Web 登录 ❀ Juniper 防火墙
  12. Ansible自动运维工具
  13. 华为MA5300配置RADIUS认证
  14. 使用rename命令批量修改后缀名
  15. LinkIQ 福禄克全新的以太网电缆,网络和PoE测试仪LIQ-100 LIQ-KIT
  16. IPv6邻居发现协议--NDP详解
  17. html实现学生成绩等级划分,【小学生成绩等级】_小学生成绩等级评价制度
  18. ftp服务器可以异地传文件吗,FTP图片上传到异地服务器
  19. esp8266的TCP通信基础教程(结合手机APP)
  20. 换分币c语言程序,编写程序输出用一元人民币兑换成1分、2分和5分硬币的不同兑换方法...

热门文章

  1. Arduino 基础部分 太极创客教学P14,15以及开发板介绍
  2. python的print使用
  3. 通过蒙板测试在NGUI中简单实现蒙板效果
  4. 心理学博士vs计算机博士,UCLA心理学博士排名,地表最客观干货
  5. LOL不用下载就能玩了?
  6. enko计算机按键顺序,Greenwal提出的内隐联想测验介绍.pdf
  7. 文献阅读20期:Transformer Transforms Salient Object Detection and Camouflaged Object Detection
  8. keil勾选了create hex flie还是没有hex文件,求解答
  9. mvc中简单从controll传递数据到前台页面(视图)
  10. 【测评】腾讯极光T1投影仪详细使用测评