java写游戏的聊天怎么写_怎么用JAVA编写一个打字游戏
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这个帖子是一年前发的,当时对Java也不是很懂,我看大家都对这个感兴趣,我把代码改了一下,发布出来,其实还有很多的地方还没有完善...,这个只能算一个Demo,有兴趣的可以参考和完善。
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.TextField;
import java.awt.event.TextEvent;
import java.awt.event.TextListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Write {
// 打字文本
private String text;
// 打字文本显示框
private JLabel showText;
// 用户文本输入框
private TextField writer;
// 文本显示框字体
private Font showTextFont;
// 用户文本输入框字体
private Font writerFont;
public Write(String text) {
this.text = text;
init();
}
/**
* 设置文本显示框的字体
*
* @param font
* 字体
*/
public void setShowTextFont(Font font) {
showTextFont = font;
showText.setFont(font);
}
/**
* 设置用户文本输入框的字体
*
* @param font
* 字体
*/
public void setWriterFont(Font font) {
writerFont = font;
writer.setFont(font);
}
/**
* 设置文本显示框字体大小
* @param size 字体大小
*/
public void setShowTextFontSize(int size) {
showTextFont = new Font(showTextFont.getName(),
showTextFont.getStyle(), size);
showText.setFont(showTextFont);
}
/**
* 设置用户文本输入框字体大小
* @param size 字体大小
*/
public void setWriterFontSize(int size) {
writerFont = new Font(writerFont.getName(),
writerFont.getStyle(), size);
writer.setFont(writerFont);
}
/**
* 处理用户输入的文本
*
* @param str
* 用户输入的文本
*/
public void handleInputchange(String str) {
int n = str.length();
// 判断用户输入的长度
if (n > text.length()) {
n = text.length();
}
StringBuilder builder = new StringBuilder();
String w1 = "";
String r1 = "";
String s2 = "";
builder.append("");
for (int i = 0; i < n; i++) {
char c1 = text.charAt(i);
char c2 = str.charAt(i);
if (c1 == c2) {
builder.append(r1);
} else {
builder.append(w1);
}
builder.append(c1);
builder.append(s2);
}
builder.append(text.substring(n, text.length()));
builder.append("");
showText.setText(builder.toString());
}
/**
* 初始化界面
*/
private void init() {
final JFrame frame = new JFrame("练习打字");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel pa = new JPanel();
JPanel p1 = new JPanel();
JPanel p2 = new JPanel();
JPanel p3 = new JPanel();
frame.setContentPane(pa);
frame.setSize(600, 500);
frame.setLocation(350, 220);
// 初始化文本显示框和用户输入框
showText = new JLabel(text);
writer = new TextField(text.length() * 2);
setShowTextFont(new Font("宋体", Font.BOLD, 30));
setWriterFont(new Font("宋体", Font.BOLD, 30));
p2.add(showText);
p3.add(writer);
pa.setLayout(new GridLayout(3, 1));
pa.add(p1);
pa.add(p2);
pa.add(p3);
// 监听用户输入的变化
writer.addTextListener(new TextListener() {
@Override
public void textValueChanged(TextEvent e) {
TextField t = (TextField) e.getSource();
String str = t.getText();
handleInputchange(str);
}
});
frame.setVisible(true);
}
public static void main(String[] args) {
Write write = new Write("Java技术的强大生命力来自于它所蕴含的面向对象和设计模式思想。");
write.setShowTextFontSize(15);
write.setWriterFontSize(15);
}
}
java写游戏的聊天怎么写_怎么用JAVA编写一个打字游戏相关推荐
- 怎么用java实现打字功能_怎么用JAVA编写一个打字游戏
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 这个帖子是一年前发的,当时对Java也不是很懂,我看大家都对这个感兴趣,我把代码改了一下,发布出来,其实还有很多的地方还没有完善...,这个只能算一个De ...
- 用python做五子棋游戏_用python来做一个五子棋游戏,源码分享~
五子棋的规则大家肯定都了解,也是大家在百忙之中娱乐的一部分,也都在网上玩过五子棋的游戏,那么大家有没有想过自己编写一个五子棋游戏呢.很多人都感觉做"游戏"这个词汇听着就很难,不知道 ...
- 用C语言编写一个小游戏
这是一个比较通用的方法来编写一个小游戏用 C 语言: 首先,确定游戏的目标和规则.这可能包括游戏的玩法.胜负条件.游戏元素和游戏流程等. 其次,确定游戏的用户界面.这可能包括游戏的菜单.按钮.文本框. ...
- 编写一个扫雷游戏,我们首先要清楚游戏规则
编写一个扫雷游戏,我们首先要清楚游戏规则: 扫雷就是要把所有非地雷的格子揭开即胜利:踩到地雷格子就算失败.游戏主区域由很多个方格组成.使用鼠标左键随机点击一个方格,方格即被打开并显示出 ...
- C#编写一个扫雷游戏
基础思路 像原版一样把扫雷分为三个难度:初级难度9*9,中级难度16*16,高级难度16*30 做一个游戏需要图片资源,去网上下载了关于 扫雷的有关文件,放在了项目中 扫雷的核心是用一个二维数组存储游 ...
- java聊天程序论文_【基于java的仿qq聊天程序的设计与实现论文最终版材料】
基于java的仿qq聊天程序的设计与实现(论文)(最终版) <基于java的仿qq聊天程序的设计与实现(论文).doc>由会员分享,可免费在线阅读全文,更多与<基于java的仿qq聊 ...
- python编写一个弹球游戏_Python实战案例:用Python写一个弹球游戏,就是这么强
我们前面讲了几篇关于类的知识点,为了让大家更好的掌握类的概念,并灵活的运用这些知识,我写了一个有趣又好玩的弹球的游戏,一来可以把类的知识融会一下,二来加深对Python的兴趣.你会发现哎呀Python ...
- 黑白块游戏java代码_用java做的一个小游戏—黑白反斗棋(适合菜鸟)
用Java做的一个小游戏,黑白反斗棋,我玩过了5*5和10*10的.是学习之后做的,不是自己原始开发的. import java.awt.Color; import java.awt.FlowLayo ...
- java与数据类型相关的十个关键字_乐字节Java变量与数据类型之一:Java编程规范,关键字与标识符...
大家好,这次要给大家带来的是Java变量与数据类型.本文是第一集:Java编程规范,关键字与标识符. 一.编程规范 任何地方的名字都需要见名知意: 代码适当缩进 书写过程成对编程 对代码进行合理注释 ...
最新文章
- sum_series() 求一列数的指定个数的数和(5个数字的和)
- 专用ADC与群集软件之比较
- mysql数据库的备份与还原
- 计算机无法显示移动硬盘,移动硬盘在我的电脑中不显示了 怎么处理?
- pagerank算法实现matlab,Matlab 入门及PageRank算法求解.ppt
- Qt Creator使用材质和明暗器Using Materials and Shaders
- [pytorch、学习] - 4.6 GPU计算
- catia v5法矢数据软件_catia介绍
- 解决使用百度UEditor编辑器后移动端图片被拉伸问题
- python2.7开发环境搭建_windows python2.7 django 开发环境搭建
- tshark解析本地pcap数据包提取五元组{src_ip,src_port,proto,dst_ip,dst_port}与时间戳,包长
- Python多态原理与示例演示
- mybatis批量更新 mysql 报错,Mybatis批量更新报错问题
- 计算机语言--python
- linux网络 (二):无线网络操作
- LBS (基于位置服务)-- Location Based Service
- 使用GRUB2制作U盘PE启动盘
- oracle xdb xquery,XML DB与XDB是同一个东西吗?
- Solr搜索引擎原理
- 内存稳定性测试软件(MemTest)
热门文章
- keyshot怎么批量渲染_提高Keyshot逼真渲染的小技巧
- snagit屏幕截图转pdf
- 奇异值分解 SVD 的数学解释
- 前端的单页面模式和多页面模式
- Django 缓存6.2
- 计算机应用专业能评自动化工程师吗,报考自动化控制工程师中级职称需要哪些条件?...
- TypeError: ord() expected string of length 1, but int found
- Android 自定义ProgressBar 实现进度圆环
- ERROR: Failed to resolve: com.android.databinding:library:3.4.2
- Android 10 新增的功能