分享
 
 
 

英文打字练习

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

Java写的英文打字练习的applet:

game.java文件:

-----------------------

import java.awt.*;

import java.applet.*;

import java.io.*;

import begin;

public class game extends Applet{

String beginLabel=" 开 始 ";

String quitLabel=" 退 出 ";

Label label= new Label("B/S英文打字练习1.0版");

TextArea context= new TextArea(5,50);

Button beginButton= new Button(beginLabel);

Button quitButton= new Button(quitLabel);

begin bb;

public void init(){

context.setText("Welcome to www.chinabs.net for java technicology.");

setBackground(Color.white);

Font f=new Font("SansSerif",Font.BOLD,16);

label.setFont(f);

add("North",label);

add("North",context);

add("South",beginButton);

add("South",quitButton);

}

public boolean action(Event evt, Object arg){

if(arg.equals(beginLabel)){

if (bb == null)

bb=new begin(this,context.getText());

else

bb.setText(context.getText());

bb.show();

return true;

}

else if(arg.equals(quitLabel)){

System.exit(0);

return true;

}

else

return false;

}

}

begin.java文件:

-----------------------

import java.applet.*;

import java.awt.*;

class Coordinate{

public int x,y;

public char name;

public TextField tt;

public Coordinate(int x,int y,char na){

this.x=x;

this.y=y;

name= na;

}

}

public class begin extends Frame{

public Applet parent;

public int wrong=0;

Coordinate number[];

char key[];

char gst[];

String message= "~1234567890-=``QWERTYUIOP[]&&ASDFGHJKL:"```ZXCVBNM,.?`` ";

String message2="~1234567890-=``qwertyuiop[]&&asdfghjkl:"```zxcvbnm,.?`` ";

String gamestring="welcome to my homepage.click any key to begin.";

String quitlabel="返 回";

String clearlabel="重新开始";

public String yourrecord= null;

int gst_length;

int message_length;

public TextField tt;

public int changei=56;

public int gstch=1;

public FontMetrics font_m;

public int string_x=100;

public Button clear1,close;

int w= 0,h=0;

public begin(Applet parent,String m){

super("英文打字练习");

this.parent= parent;

this.setBackground(Color.white);

gamestring= m;

Panel panel= new Panel();

tt= new TextField(13);

clear1= new Button(clearlabel);

close= new Button(quitlabel);

add("South",tt);

panel.setLayout(new FlowLayout());

panel.add(clear1);

panel.add(close);

message_length= message.length();

key= new char[message_length];

message.getChars(0,message_length,key,0);

gst_length= gamestring.length();

gst= new char[gst_length];

gamestring.getChars(0,gst_length,gst,0);

init();

add("North",panel);

resize(600,450);

h= 120;

setResizable(false);

show();

}

public void setText(String tt){

gamestring= tt;

gst_length= gamestring.length();

gst= new char[gst_length];

gamestring.getChars(0,gst_length,gst,0);

gstch=1;

wrong=0;

Graphics g= getGraphics();

string_x=100;

repaint();

}

public void init(){

setBackground(Color.white);

h=450/3;

number= new Coordinate[message_length+50];

for(int I=0;I

number[I]= new Coordinate(62+I*30,h,key[I]);

}

for(int I=0;I

number[14+I]= new Coordinate(64+I*30,h+30,key[14+I]);

}

for(int I=0;I

number[28+I]= new Coordinate(66+I*30,h+60,key[28+I]);

}

for(int I=0;I

number[42+I]= new Coordinate(68+I*30,h+90,key[42+I]);

}

number[56]= new Coordinate(60,130+h,key[56]);

}

public void downboard(int I,Graphics g){

int index=I;

if(index!=56){

g.setColor(Color.lightGray);

g.fillRect(number[index].x+3,number[index].y+4,23,21);

for(int i1=0,j=1;i1

g.setColor(Color.white);

g.fillRect(number[index].x+28-(i1+1),number[index].y+i1+1,1,28-(2*i1+1)-1);

g.fillRect(number[index].x+i1,number[index].y+28-(i1+1),28-(2*i1),1);

g.setColor(Color.gray);

g.fillRect(number[index].x+i1,number[index].y+i1+1,28-(2*i1),1);

g.fillRect(number[index].x+i1,number[index].y+i1+1,1,28-(2*i1+1)-1);

}

g.setColor(Color.black);

g.drawChars(key,index,1,number[index].x+12,number[index].y+17);

}

else{

g.setColor(Color.lightGray);

g.fillRect(number[index].x+53,number[index].y+4,303,21);

for(int i1=0,j=1;i1

g.setColor(Color.white);

g.fillRect(number[index].x+360-(i1+1),number[index].y+i1+1,1,28-(2*i1+1)-1);

g.fillRect(number[index].x+i1+50,number[index].y+28-(i1+1),310-(2*i1),1);

g.setColor(Color.gray);

g.fillRect(number[index].x+i1+50,number[index].y+i1+1,310-(2*i1),1);

g.fillRect(number[index].x+i1+50,number[index].y+i1+1,1,28-(2*i1+1)-1);

}

}

}

public void paintboard(int I,Graphics g){

int index=I;

if(index!=56){

for(int i1=0,j=1;i1

g.setColor(Color.gray);

g.fillRect(number[index].x+28-(i1+1),number[index].y+i1+1,1,28-(2*i1+1)-1);

g.fillRect(number[index].x+i1,number[index].y+28-(i1+1),28-(2*i1),1);

g.setColor(Color.white);

g.fillRect(number[index].x+i1,number[index].y+i1+1,28-(2*i1),1);

g.fillRect(number[index].x+i1,number[index].y+i1+1,1,28-(2*i1+1)-1);

}

g.setColor(Color.black);

g.drawChars(key,index,1,number[index].x+12,number[index].y+17);

}

else{

for(int i1=0,j=1;i1

g.setColor(Color.gray);

g.fillRect(number[index].x+360-(i1+1),number[index].y+i1+1,1,28-(2*i1+1)-1);

g.fillRect(number[index].x+i1+50,number[index].y+28-(i1+1),310-(2*i1),1);

g.setColor(Color.white);

g.fillRect(number[index].x+i1+50,number[index].y+i1+1,310-(2*i1),1);

g.fillRect(number[index].x+i1+50,number[index].y+i1+1,1,28-(2*i1+1)-1);

}

}

}

public void paint(Graphics g){

g.setColor(Color.lightGray);

g.fillRect(0,0,600,450);

for(int I=0;I

paintboard(I,g);

g.drawString(gamestring,string_x,100);

}

int ch = gst[gstch];

Graphics g1=getGraphics();

record=message2.indexOf(ch);

if(record!=56){

g1.setColor(Color.blue);

g1.fillRect(number[record].x+3,number[record].y+4,22,21);

g1.setColor(Color.red);

g1.drawChars(key,record,1,number[record].x+10,number[record].y+18);

}

else{

g1.setColor(Color.blue);

g1.fillRect(number[record].x+53,number[record].y+4,303,21);

}

}

public boolean keyDown(Event evt,int key){

int record2=0;

Graphics g= getGraphics();

if(key==8){

tt.setText("Back Space");

paintboard(changei,g);

downboard(13,g);

changei=13;

gstch--;

string_x=string_x-(font_m.charWidth(gst[gstch-1]));

g.setColor(Color.white);

g.drawChars(gst,gstch-1,1,string_x,100);

return true;

}

search();

String aa=Integer.toString(key);

record2=gamestring.indexOf(key,gstch-1);

font_m=g.getFontMetrics();

if(record2==(gstch-1))

g.setColor(Color.blue);

else{

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有