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, "未找到结果");
}
}

}

有道云翻译接口 Show类的更多相关文章

  1. python爬虫实例——基于python实现有道云翻译接口

    # 分析包# 分析post请求中参数# 使用python模拟lts.sign.salt参数运算# 执行结果> > 1.按F12对网页进行分析,填写内容后自动翻译的功能一般是通过ajax实现 ...

  2. C# 有道API翻译 查询单词详细信息

    原文:C# 有道API翻译 查询单词详细信息 有道云官方文档 有道云翻译API简介:http://ai.youdao.com/docs/doc-trans-api.s#p01 有道云C#Demo : ...

  3. .net core 和 WPF 开发升讯威在线客服系统:调用有道翻译接口实现实时自动翻译的方法

    业余时间用 .net core 写了一个在线客服系统.并在博客园写了一个系列的文章,写介绍这个开发过程. 我把这款业余时间写的小系统丢在网上,陆续有人找我要私有化版本,我都给了,毕竟软件业的初衷就是免 ...

  4. c#操作可道云api帮助类

    代码: public class KodCloudHelper { static readonly string kodCloudUrl = Configs.GetString("KodCl ...

  5. C#调用百度云存储接口上传文件

    因前几日见园子里有人说可以把网站静态文件放在百度上,于是去百度开放平台看了看,发现之前那篇文章不是调的云存储接口啊... 于是自己写了个C#能调百度云存储的例子(百度云开放平台只提供php.java. ...

  6. 腾讯云linux+kodexplorer可道云搭建私有云盘

    kodexplorer可道云介绍KodExplorer可道云,原名芒果云,是基于Web技术的私有云和在线文件管理系统.致力于为用户提供安全可控.可靠易用.高扩展性的私有云解决方案.用户只需通过简单环境 ...

  7. 用Python调用华为云API接口发短信

    [摘要] 用Python调用华为云API接口实现发短信,当然能给调用发短信接口前提条件是通过企业实名认证,而且有一个通过审核的短信签名,话不多说,showcode #!/usr/bin/python3 ...

  8. ShowDoc,APIDoc,可道云API,语雀-适合IT企业的文档工具

    ShowDoc,APIDoc,可道云API,语雀-适合IT企业的文档工具 一.ShowDoc官方文档及说明 1.1 它可以用来做什么 1.2 它都有些什么功能 1.3 使用在线的ShowDoc 1.4 ...

  9. Myeclipse中打开接口实现类的快捷键

    Myeclipse中打开接口实现类的快捷键-----Ctrl + T Myeclipse中 Open Type快捷键-----Ctrl + Shift + T

随机推荐

  1. Oracle的trim( )、ltrim( )、rtrim( )三个函数的用法及注意事项

    学习一下用法整理trim().ltrim().rtrim()的用法 trim().ltrim().rtrim()三个函数有两个作用,分别是: 一.去除字符串前后空格(基本用法) trim(string ...

  2. spark与hive的集成

    一:介绍 1.在spark编译时支持hive 2.默认的db 当Spark在编译的时候给定了hive的支持参数,但是没有配置和hive的集成,此时默认使用hive自带的元数据管理:Derby数据库. ...

  3. 使用vs编译事件来动态发布配置文件

    我们知道开发有很多的环境,一般我们会分为开发环境,测试环境,生产环境.而我们使用的vs默认配置就两种:Debug和Release.当然vs支持通过配置管理器来添加,编辑及删除配置. 为此不同的环境和配 ...

  4. 经典算法研究系列:二、Dijkstra 算法初探

    July   二零一一年一月 本文主要参考:算法导论 第二版.维基百科. 一.Dijkstra 算法的介绍 Dijkstra 算法,又叫迪科斯彻算法(Dijkstra),算法解决的是有向图中单个源点到 ...

  5. MySQL之多表操作

    前言:之前已经针对数据库的单表查询进行了详细的介绍:MySQL之增删改查,然而实际开发中业务逻辑较为复杂,需要对多张表进行操作,现在对多表操作进行介绍. 前提:为方便后面的操作,我们首先创建一个数据库 ...

  6. JQ判断浏览器以及版本

    JQuery 使用jQuery.browser 来判断浏览器,返回值可以为: safari(safari) opera(Opera) msie(IE) mozilla(Firefox). if($.b ...

  7. 【DDD】领域驱动设计实践 —— Domain层实现

    本文是DDD框架实现讲解的第三篇,主要介绍了DDD的Domain层的实现,详细讲解了entity.value object.domain event.domain service的职责,以及如何识别出 ...

  8. 华为olt ma5680t常用命令详解

    进入待替换的故障ONU所注册的单板 interface epon 0/1         //此处可以通过查看PON口下设备状态来获取需要替换的ONU ID.假设故障设备位于2端口,ID为6 ont ...

  9. jsp web JavaBean MVC 架构 EL表达式 EL函数 JSTL

     一.JavaBean概念(非常重要) 1.JavaBean就是遵循一定书写规范的Java类型(开发中:封装数据) a.必须有默认的构造方法,类必须是public的   public class  ...

  10. CSS之 z-index 属性

    层叠上下文: 三维概念,表示元素在Z轴的位置 层叠可嵌套,组合成一个分层次上下文  每个层叠上下文和兄弟元素独立,进行层叠变化或渲染时,只考虑后代元素  每个层叠上下是自成体系的 层叠顺序 1 bac ...