博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
简易翻译工具
阅读量:7085 次
发布时间:2019-06-28

本文共 2890 字,大约阅读时间需要 9 分钟。

词库:预先准备本地文档,需要英文-中文形式存放,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
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
();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 @Override37 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 }

最终的实现效果:

 

转载于:https://www.cnblogs.com/ynhwl/p/9463224.html

你可能感兴趣的文章
玩转linux 第五天之正则表达式
查看>>
测试用例编写规范
查看>>
Linux vsftpd服务器
查看>>
使用ADRCI打oracle故障包
查看>>
简易更改win系统的连接
查看>>
Apache+PHP+SSL 安装步骤
查看>>
IPSEC ***学习笔记 (二)
查看>>
JQuery学习笔记-操作DOM元素
查看>>
【远程医疗专题】远程医疗论文30篇及解决方案10篇
查看>>
crondtab 定时任务
查看>>
【ios】导航跳转
查看>>
linux下建立回收站防止误删除及定期清空
查看>>
动态安全模型
查看>>
liuux/ Unix 文件管理命令(五)
查看>>
Hadoop学习笔记之二:HDFS体系架构
查看>>
foreman架构的引入4-安装Foreman1.6.3架构(foreman与puppetmaster分离)
查看>>
W和L
查看>>
TCP/IP协议解析
查看>>
德国罗森伯格推出MU Uniboot数据中心高密度布线系统
查看>>
Centos以及windows2003server系统下的密码重置
查看>>