在好例子网,分享、交流、成长!
您当前所在位置:首页Java 开发实例Android平台开发 → 英语单词拼写训练.doc

英语单词拼写训练.doc

Android平台开发

下载此实例
  • 开发语言:Java
  • 实例大小:0.04M
  • 下载次数:15
  • 浏览次数:372
  • 发布时间:2020-12-04
  • 实例类别:Android平台开发
  • 发 布 人:小乖1200
  • 文件格式:.doc
  • 所需积分:2
 相关标签: 单词 英语

实例介绍

【实例简介】窗口中有一个TextField对象和一个按钮对象,将这两个对象添加到一个面板中,然
后将该面板添加到窗口的上面。
用户在 TextField对象中输入一个英文单词,然后按Enter键或单击“确定”按钮,
程序将创建若干个不可编辑的文本框,每个文本框随机显示英文单词中的一个字母。
要求将这些文本框按一行添加到一个面板中,然后将该面板添加到窗口的中心。
用户用鼠标单击一个文本框后,通过按下键盘上的“→”和“,”键交换相邻文本
框中的字母,使得这些文本框中字母的排列顺序和英文单词中字母的顺序相同。

【实例截图】

from clipboard

【核心代码】
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class SpellingWordFrame extends JFrame implements KeyListener,ActionListener {//键盘和事件监视器
JTextField inputWord;//文本框
JButton button;//按钮
LetterLabel label[];//文本框
JPanel northP, centerP;//中间容器,默认FlowLayout布局
Box wordBox;
String hintMessage="用鼠标单击字母,按左右箭头交换字母,将其排列成所输入的单词";
JLabel messaageLabel=new JLabel(hintMessage) ;//标签
String word=" " ;
SpellingWordFrame(){//继承BorderLayout布局
inputWord=new JTextField (12);//列数为12
button=new JButton("确定");
button.addActionListener(this);
inputWord.addActionListener (this);
northP=new JPanel();//创建中间容器
northP.add (new JLabel("输入单词:"));//加标签
northP.add(inputWord) ;//加文本框
northP.add(button);//加按钮
//
centerP=new JPanel ();
wordBox=Box.createHorizontalBox();//实例化
centerP.add (wordBox);
add(northP,BorderLayout.NORTH);
add(centerP,BorderLayout.CENTER);
add (messaageLabel,BorderLayout.SOUTH);
setBounds (100,100,350,180);//坐标,长,高
setVisible(true) ;//可见
validate();// swing 中的validate()方法,确保组件具有有效的布局。
setDefaultCloseOperation (DISPOSE_ON_CLOSE);//隐藏当前窗口并释放资源
}
public void actionPerformed (ActionEvent e){//事件源处罚后
word=inputWord.getText();
int n=word.length ();
RondomString rondom=new RondomString();
String randomWord=rondom.getRondomString (word);
wordBox.removeAll();//删除所有的元素
messaageLabel .setText(hintMessage) ;
    if (n>0){
label=LetterLabel.getLetterLabel(n);
for(int k=0;k<label.length; k ){
label[k].setText("" randomWord.charAt(k));
wordBox.add ( label[k]);
label[k].addKeyListener(this);//将当前窗口注册为label[k]的键盘监视器
}
validate();
inputWord.setText(null);
label[0].requestFocus();
}
}
public void keyPressed(KeyEvent e){
LetterLabel sourceLabel=(LetterLabel)e.getSource();//e.getSource()获得事件源
int index=-1;
if(e.getKeyCode()==KeyEvent.VK_LEFT){//判断按下的是否是“左箭头”键
for(int k=0;k<label.length; k ){
if(label[k]==sourceLabel){
index=k;
break;
}
}
if(index!=0){//交换文本框中的字母
String temp=label[index].getText();
label[index].setText(label[index-1].getText());
label[index-1].setText (temp);
label[index-1].requestFocus () ;
}
}
else if(e.getKeyCode()==KeyEvent.VK_RIGHT){//判断按下的是否是“右箭头”键
  for(int k=0;k<label.length; k ){
if(label[k]==sourceLabel){
index=k;
break;
}
  }
  if(index!=label.length-1){
String temp=label [index] .getText();
label[index].setText (label [index 1].getText());
label[index 1].setText(temp) ;
label[index 1].requestFocus ();
  }
}
validate();
}
 
public void keyTyped(KeyEvent e){}//按下和释放
public void keyReleased (KeyEvent e){//释放
String success="";
for(int k=0;k<label.length; k ){
String str=label[k].getText();
success=success str;
}
if(success.equals (word)) {
messaageLabel.setText("恭喜你,你成功了");
for(int k=0;k<label . length; k ){
label[k].removeKeyListener (this);
label[k].removeFocusListener (label[k]);
label[k].setBackground(Color.white);
}
inputWord.requestFocus();
}
}

}


标签: 单词 英语

实例下载地址

英语单词拼写训练.doc

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警