文档详情

实训八GUI编程练习.doc

发布:2017-03-26约5.31千字共5页下载文档
文本预览下载声明
实训八 GUI编程练习(二) 实训性质:验证性、程序设计 实训目的 (1)掌握事件监听机制 (2)掌握ActionEvent事件的处理 (3)掌握TextEvent事件的处理 实训环境 Window XP/Sever 2003、JDK、Eclipse 实训内容 (1)英语单词拼写训练 (2)简易计算器界面 (3)操作按钮移动 实训指导 1. 英语单词拼写训练 (1)编写Java程序,窗口中有一个TextField对象和一个按钮对象,将这两个对象添加到一个面板中,然后再添加到窗口北面。 用户在TextFeild对象中输入一个单词,回车或者单机按钮,程序将创建若干个标签,其个数刚好等于单词字母个数,且每个标签上的字母刚好是单词的一个字母,但顺序不对。要求将这些标签添加到一个面板中,然后将该面板添加到窗口中心。 用户用鼠标单击一个标签后,通过按下键盘上的上、下、左、右键,交换相邻标签上的字母,使得标签的字母顺序与输入单词的顺序相同。 程序模板如下: RondomString.java public class RondomString { String str=; public String getRondomString(String s) { StringBuffer strBuffer=new StringBuffer(s); int m=strBuffer.length(); for(int k=0;km;k++) { int index=(int)(Math.random()*strBuffer.length()); char c=strBuffer.charAt(index); str=str+c; strBuffer=strBuffer.deleteCharAt(index); } return str; } } LetterLabel.java import java.awt.*; import java.awt.event.*; public class LetterLabel extends Button implements FocusListener,MouseListener { LetterLabel() { 【代码1】 //将当前对象注册为自身的焦点视器 【代码2】 //将当前对象注册为自身的标监视器 setBackground(Color.cyan); setFont(new Font(,Font.BOLD,30)); } public static LetterLabel[] getLetterLabel(int n) { LetterLabel a[]=new LetterLabel[n]; for(int k=0;ka.length;k++) { a[k]=new LetterLabel(); } return a; } public void focusGained(FocusEvent e) { setBackground(Color.red); } public void focusLost(FocusEvent e) { setBackground(Color.cyan); } public void mousePressed(MouseEvent e) { requestFocus(); } public void setText(char c) { setLabel(+c); } public void mouseReleased(MouseEvent e){} public void mouseEntered(MouseEvent e) {} public void mouseExited(MouseEvent e) {} public void mouseClicked(MouseEvent e){} } SpellingWordFrame.java import java.awt.*; import java.awt.event.*; import javax.swing.Box; public class SpellingWordFrame extends Frame implements KeyListener,ActionListener { TextField inputWord; Butto
显示全部
相似文档