码迷,mamicode.com
首页 > 其他好文 > 详细

简易翻译工具

时间:2018-08-12 17:22:03      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:提示   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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!