java通过framer生成word_编写一个Java应用程序,在主线程中再创建一个Jframe类型的窗口,在该窗口中再创建一个线程giveWord。...

这篇博客介绍了一个Java程序,它创建了一个线程`WordThread`,该线程每6秒钟在JFrame窗口中更新一个汉字。用户可以通过汉字输入法在文本框中输入显示的汉字进行交互。主程序`ThreadFrame`初始化窗口,并使用`WordThread`来生成和显示汉字。用户在输入正确显示的汉字后,分数会相应增加。
摘要由CSDN通过智能技术生成

线程giveWord每隔6秒钟给出一个汉字,用户使用汉字输入法将该汉字输入到文本框中。WordThread.javaimportjavax.swing.*;publicclassWordThreadextendsThread{charword;intk=19968;JLa...

线程giveWord每隔6秒钟给出一个汉字,用户使用汉字输入法将该汉字输入到文本框中。

WordThread.java

import

javax.swing.*;

public class

WordThread extends Thread

{ char word;

int k=19968;

JLabel com;

WordThread(JLabel com)

{ this.com=com;}

public void run()

{ k=19968;

while(true)

{ word=(char)k;

com.setText(""+word);

try{【代码1】//调用sleep方法使得线程中断6000豪秒}

catch(InterruptedException e){}

k++;

if(k>=29968) k=19968; }}}

ThreadFrame.java

import

java.awt.*;

import

java.awt.event.*;

import

javax.swing.*;

public class

ThreadFrame extends JFrame implements ActionListener

{ JLabel wordLabel;

JButton button;

JTextField inputText,scoreText;

【代码2】//用WordThread声明一个giveWord对象

int score=0;

ThreadFrame()

{ wordLabel=new JLabel("

",JLabel.CENTER);

wordLabel.setFont(new

Font("",Font.BOLD,72));

button=new JButton("开始");

inputText=new JTextField(8);

scoreText=new JTextField(5);

scoreText.setEditable(false);

【代码3】//创建giveWord,将wordLabel传递给WordThread构造方法的参数

button.addActionListener(this);

inputText.addActionListener(this);

add(button,BorderLayout.NORTH);

add(wordLabel,BorderLayout.CENTER);

JPanel southP=new JPanel();

southP.add(new JLabel("输入标签所显示的汉字后回车:"));

southP.add(inputText);

southP.add(scoreText);

add(southP,BorderLayout.SOUTH);

setBounds(100,100,350,180);

setVisible(true);

validate();

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }

public void actionPerformed(ActionEvent e)

{ if(e.getSource()==button)

{ if(!(【代码4】)) //giveWord调用方法isAlive()

{ giveWord=new WordThread(wordLabel); }

try

{ 【代码5】//giveWord调用方法start() }

catch(Exception exe){} }

else if(e.getSource()==inputText)

{ if(inputText.getText().equals(wordLabel.getText()))

{ score++;}

scoreText.setText("得分:"+score);

inputText.setText(null); }}}

ThreadWordMainClass.java

public class

ThreadWordMainClass

{ public static void main(String args[])

{ new

ThreadFrame();}}

展开

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值