package com.yangchong.fanyi;

import java.awt.EventQueue;
import java.awt.Toolkit;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JEditorPane;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.io.IOException;
import java.awt.event.ActionEvent;

public class Show extends JFrame {

private JPanel contentPane;
private JTextField input;
private JLabel label_1;
private JEditorPane rel;

/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Show frame = new Show();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
* Create the frame.
*/
public Show() {
setIconImage(Toolkit.getDefaultToolkit().getImage("C:\\Users\\Administrator\\Desktop\\logo.png"));
setResizable(false);
//设置窗体居中
// Toolkit kit = Toolkit.getDefaultToolkit();
// double w = kit.getScreenSize().getWidth();
// double h = kit.getScreenSize().getHeight();
// int width = 450;
// int height = 300;
// int x = (int) ((w-width)/2);
// int y = (int) ((h-height)/2);

setTitle("\u6709\u9053\u7FFB\u8BD1");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);

JLabel label = new JLabel("原文:");
label.setBounds(20, 25, 54, 15);
contentPane.add(label);

//原文输入框
input = new JTextField();
input.setBounds(73, 16, 255, 34);
//键盘事件
input.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
int i = e.getKeyChar();
//监听回车按键事件
if(i == KeyEvent.VK_ENTER){
getRel();
}
}
});
contentPane.add(input);
input.setColumns(10);

//翻译按钮
JButton button = new JButton("翻译");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
getRel();
}

});
button.setBounds(338, 21, 93, 23);
contentPane.add(button);

label_1 = new JLabel("\u8BD1\u6587\uFF1A");
label_1.setBounds(20, 76, 54, 15);
contentPane.add(label_1);

rel = new JEditorPane();
rel.setBounds(73, 76, 351, 176);
contentPane.add(rel);
}

public void getRel() {
String nr = input.getText();//获得用户输入的原文
try {
Fanyi.fanyi(nr);
String jg = null;
if(nr.matches("^[\u4e00-\u9fa5]{0,}$")){
jg = Fanyi.parserChinese(nr);
}else if(nr.matches("^[a-zA-Z]+$")){
jg = Fanyi.parserEnglish(nr);
}
rel.setText(jg);//输出翻译结果
} catch (IOException e1) {
JOptionPane.showMessageDialog(contentPane, "网络异常");
} catch (NullPointerException e2){
JOptionPane.showMessageDialog(contentPane, "未找到结果");
}
}

}

最新文章

  1. 小白科普之JavaScript的BOM模型
  2. jsp页面的使用
  3. java 宠物商店代码
  4. 数位dp入门 hdu2089 不要62
  5. 小程序代码包压缩 策略&方案
  6. 第二节 安装CentOS
  7. Oracle物化视图的创建及使用
  8. Python 递归计算分数数列
  9. mybatis的collection查询问题以及使用原生解决方案的结果
  10. OpenStack控制节点上搭建Q版keystone服务(step3)
  11. C#中四步轻松使用log4net记录本地日志(WPF有点小区别)
  12. 【原创 Hadoop&Spark 动手实践 9】Spark SQL 程序设计基础与动手实践(上)
  13. Sublime Text3—Code Snippets(自定义代码片段)
  14. maven工程中防止mapper.xml文件被漏掉、未加载的方法
  15. MFC限制edit控件的字符输入长度
  16. python递归和二分法
  17. 查看LINQ Expression編譯後的SQL語法(转)
  18. EJB与JPA的关系
  19. Android 创建自定义 View 的属性 (attrs) 时需要注意的问题
  20. MySQL基础架构之查询语句执行流程

热门文章

  1. JSTL之c:set
  2. TCP/IP(二)物理层详解
  3. 第一个ExtJS练习(添加用户面板)
  4. 通过express搭建自己的服务器
  5. Count Color 线段树
  6. 550 Create directory operation failed
  7. PHP CodeBase: 生成N个不重复的随机数
  8. Android UI 笔记
  9. canvas图表详解系列(1):柱状图
  10. scala 读取文件遇到encode问题(Mac -> remote Linux)