标签:提示 ima man hang 英文 实现 trace NPU 触发事件
词库:预先准备本地文档,需要英文-中文形式存放,en~这个用表格实现将会更好
界面:一个简单的java GUI
功能:输入英文单词,回车,如果词库存在该单词,输出对应的中文意思,不存在则提示不存在
实现方法:Frame界面、事件监听、文档读取散列映射
具体实现:
0.预定义的词库
1.程序入口:
1 public class WordChangeMain { 2 3 public static void main(String[] args) { 4 5 WindowWord win = new WindowWord(); 6 win.setTitle("简易英汉词典"); 7 } 8 9 }
2.带监听器的操作界面
1 /** 2 * GUI界面 3 */ 4 import java.awt.*; 5 import javax.swing.*; 6 7 public class WindowWord extends JFrame{ //将WindowWord作为窗体子类 8 9 JTextField inputText; 10 JTextField showText; 11 WordPolice police; //监听器 12 13 //WindowWord构造器,创建WindowWord对象时,初始化出窗体 14 public WindowWord() { 15 16 setLayout( new FlowLayout() ); //设置布局方式 17 inputText = new JTextField(6); //输入框 18 showText = new JTextField(6); //显示结果框 19 add(inputText); //将输入框加入到窗体 20 add(showText); 21 police = new WordPolice(); //实例化监听器 22 police.setJTextFiled(showText); 23 inputText.addActionListener(police);//监听输入框发送的事件 24 setBounds(100,100,280,150); 25 setVisible(true); 26 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 27 28 } 29 30 }
3.监听器和事件回应的实现
1 /** 2 * 监听器和事件回应处理 3 */ 4 import java.awt.event.*; 5 import java.io.*; 6 import java.util.*; 7 import javax.swing.*; 8 9 public class WordPolice implements ActionListener{ 10 11 JTextField showText; 12 HashMap<String, String> hashtable; 13 String filePath = "E:\\engtochinese\\engandchinese.txt"; 14 Scanner scanner = null; 15 File file = new File(filePath); 16 17 public WordPolice() { 18 19 hashtable = new HashMap<String, String>(); 20 21 /* 22 * 读取文件将文件中的 英文-中文 以键值对的方式一一对应存入hashtable中 23 */ 24 try { 25 scanner = new Scanner(file); 26 while (scanner.hasNext()) { 27 String englishWord = scanner.next(); //第一次next为英文 28 String chineseWord = scanner.next(); //第一次next为中文,文件这样写的,所以这个顺序 29 hashtable.put(englishWord, chineseWord); //以键值对的方式一一对应存入hashtable中 30 } 31 } catch (FileNotFoundException e) { 32 e.printStackTrace(); 33 } 34 } 35 36 @Override 37 public void actionPerformed(ActionEvent e) { //输入框输入后回车触发 38 String englishWord = e.getActionCommand(); //获得触发事件框中的字符串 39 if (hashtable.containsKey(englishWord)) { //ontainsKey方法用来判断Map集合对象中是否包含指定的键名 40 String chineseWord = hashtable.get(englishWord); //以englishWord为键,获取相对于的值 41 showText.setText(chineseWord); //显示框显示对应的文本 42 } 43 else { 44 showText.setText("没有该单词"); 45 } 46 } 47 48 public void setJTextFiled( JTextField showTest) { 49 this.showText = showTest; 50 } 51 52 }
最终的实现效果:
标签:提示 ima man hang 英文 实现 trace NPU 触发事件
原文地址:https://www.cnblogs.com/ynhwl/p/9463224.html