目录及源码链接https://blog.csdn.net/coolyuan/article/details/107169180

要求

①输入三位数自动与屏幕中显示的数字比较,若相同则消除并重新生成数字,记录得分
②输入空格暂停,暂停时输入任意字符继续游戏

实现方法

新建一个JPanel,并在其中添加一个JTextField来获取输入的内容。

①实现功能输入三位数自动提交

往JTextField中添加一个继承适配器抽象类的匿名内部类来监听键盘事件。

键盘监听的方法有KeyPressed()、KeyTyped()、KeyReleased()。
下面我先进行一个测试,测试在这些方法中用文本框的getText()获取的文本框内容的差别:
先输入数字4,再输入数字5,
可见KeyPressed和KeyTyped会在你输入的文本字符添加到文本框之前调用,因此,为了要达到我们需要的目的,我就将长度比较的代码写在KeyReleased方法中。

方法如下:每次往文本框键入内容监听文本框内容的长度,若文本框长度大于等于3则用setText("")来清空文本框内容。

ps:
1.关于为何要大于等于三而不是单纯等于三的原因,是被我一个Hentai舍友试出来的,趁着键盘监听不注意,对着输入框一顿暴风输入,结果如下:

他输入的长度早比三大了,但是键盘监听器并不清空文本框输入的内容,因此要提防这种输入过快的情况,就需要将等于三改为大于等于三。
2.但是如果按照我的方法将代码都添加到KeyReleased中,会出现以下问题:     一是如果你的输入速度过快,会出现无法识别的现象。
    二是如果你长按一个数字,文本框的文本会一直增加到你放下按键才会清空,我试过在KeyPressed中输入的文本检测长度,但是效果不佳,也就放弃了,有兴趣的读者可以去想办法解决看看。

②消除匹配的列并再生成新的列

当每次输入长度大于等于三时,获取文本框输入的内容,然后与之前建立的字符数组进行比较,若相同,则用讲过的生成随机数的方法再生成一个随机数(记得保证首位与其他的相同,而且要将其纵坐标置为原来的初始下落位置)

 if (in.getText().length() >= 3) {input = in.getText();in.setText("");               for (int i = 0; i < N; i++) {if (input.equals(num[i])) {y[i] = 50;}num[i] = Integer.toString((int) (Math.random() * 900 + 100));while (true) {for (int j = 0; j < N; j++) {if (num[i].charAt(0) == num[j].charAt(0) && i != j){num[i] = Integer.toString((int) (Math.random() * 900 + 100));j = -1;}}break;}}}

打字游戏之输入框功能的实现相关推荐

  1. java结合swing多线程实现打字游戏

    java实现简易打字游戏 写个博客写的心累啊 原本写好的后来网断了,还忘了保存草稿,然后一顿操作下来....现在在重写的路上. 咋也不多说啥了,直接上效果图吧 项目结构图如下.主要运行代码都在edu. ...

  2. python小游戏开发,使用python实现英语打字游戏

    需求分析 英文打字小游戏,要有多界面交互,界面整洁.美观,可调节游戏等级难度,可配置游戏信息. 要有游戏分数,游戏时间,动画特效,背景音乐,不同游戏等级的历史最高分记录. 拼写成功的英文单词显示中文意 ...

  3. Linux打字游戏程序代码,c语言shell打字游戏.pdf

    一.实验说明 1. 环境登录 无需密码自动登录 ,系统用户名shiyanlou ,密码shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境 ,实验中 用到桌面上的程序 ...

  4. Python 打字小游戏开发,来体验不一样的打字游戏乐趣(第二篇)

    Python 打字小游戏开发,来体验不一样的打字游戏乐趣(第二篇) 代码实现 窗口类 小车类 玩家类 电脑类 赛道类 小树类 打字类 Python 打字小游戏开发,来体验不一样的打字游戏乐趣(第一篇) ...

  5. python:pygame小游戏(三)—— 打字游戏

    代码一:实现字符下落的基本功能 """ 打字游戏 1. 声明列表word.xx(x坐标值).yy(y坐标值) 2. 创建init()函数,初始化三个列表 3. 第四部分: ...

  6. 纯C语言实战-打字游戏

    纯C语言的打字游戏 学了那么长时间C语言了,每天写出来的代码都是一个小黑框,也没写过好玩的东西,突然有了一个想法,能不能写一个C语言的小游戏呢?然后百度了半天,游戏很多,但是大多数都需要引入其他的库来 ...

  7. Python 打字小游戏开发,来体验不一样的打字游戏乐趣(完结篇)

    Python 打字小游戏开发,来体验不一样的打字游戏乐趣(完结篇) 资源下载 完整代码 Python 打字小游戏开发,来体验不一样的打字游戏乐趣(第一篇) Python 打字小游戏开发,来体验不一样的 ...

  8. Python 打字小游戏开发,来体验不一样的打字游戏乐趣(第一篇)

    Python 打字小游戏开发,来体验不一样的打字游戏乐趣(第一篇) 前言 游戏素材准备 游戏项目结构 项目里面的类说明 Python 打字小游戏开发,来体验不一样的打字游戏乐趣(第二篇) Python ...

  9. C语言大作业,可供学习---打字游戏

    这是我做的一个大作业吧,其实十分简单,但功能挺多.其中的播放音乐代码可以自行删去,因其需要环境配置与对应wav格式的音频,运行的时候有对应规则,要仔细看哦! 众所周知,打字能力是一个大学生必备的基本技 ...

最新文章

  1. KeyMob:建立一个稳定的移动广告聚合平台!
  2. java servlet 请求_java servlet请求数据
  3. 网易智慧企业Node.js实践(1) | Node应用架构设计和React同构
  4. 11月27日struts项目练习评审
  5. JS之 if语句函数 对接事件动作 函数更改css css对接需要换妆的区id或class
  6. 实验八 java多线程操作_20182310实验八实验报告
  7. 再看到一则有关Anders的……
  8. sql server 符号函数sign
  9. 分布式系统设计理念为何这么难学?
  10. 南华大学计算机专业导师排名,南华大学研究生导师介绍:左国平-中公研招网...
  11. IntelliJ IDEA 使用教程(2019图文版)
  12. 正离子计算机扫描检测,扫描电子显微镜
  13. ios14.2越狱之后的一系列操作
  14. Android垂直方向滚动的跑马灯,带gif
  15. KEGG Orthology 数据库简介
  16. 洛谷P3376【模板】网络最大流
  17. 数据库学习之MySQL (十一)—— 统计函数 COUNT MIN MAX AVG SUM
  18. 途家木鸟美团夏日折扣对垒,门槛低就一定香吗?
  19. 康定游记-宝宝征服4300米海拔折多山
  20. 缓存冲突:SWR vs. TanStack Query for React

热门文章

  1. 安装opencv 3.4.1记录
  2. 传Facebook来华招聘:年薪20万美元+美国绿卡
  3. MySQL导入mdx_浅谈MDX数据库
  4. 漫画:什么是ConcurrentHashMap?
  5. android 静态注册获取电量,获取手机电池百分比和电池容量方法
  6. firefox装在linux_在 Linux 中安装 Firefox
  7. 万众电子期刊在线阅读系统(awd复现)
  8. electron打开系统默认浏览器
  9. Linux下CGroup进行CPU、内存等资源控制
  10. java mye_JAVA环境搭建之MyEclipse10+jdk1.8+tomcat8环境搭建详解