日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

怎么用java实现打字功能_怎么用JAVA编写一个打字游戏

發布時間:2024/7/5 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 怎么用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编写一个打字游戏的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。