Java 图灵机器人 自动回复
2016-03-31 12:15
316 查看
先去http://www.tuling123.com/申请key
源代码下载 链接:http://pan.baidu.com/s/1kU7iQc3 密码:4bbk
package com.rjgc13.tuling; import org.apache.http.HttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; public class HttpGetRequest { public static String get(String url){ try { HttpGet request=new HttpGet(url); HttpResponse response=HttpClients.createDefault().execute(request); String result=""; if(response.getStatusLine().getStatusCode()==200){ result=EntityUtils.toString(response.getEntity()); } return result; } catch (Exception e) { e.printStackTrace(); return ""; } } }
package com.rjgc13.tuling; import net.sf.json.JSONObject; public class TulingController { public static String getTulingRe(String info){ String url="http://www.tuling123.com/openapi/api?key=********************************&info="+info; String tlResult =HttpGetRequest.get(url); JSONObject json=JSONObject.fromObject(tlResult); tlResult=json.getString("text"); return tlResult; } }
package com.rjgc13.tuling; import java.util.Properties; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Main extends JFrame { private static JFrame frame; private static JTextArea viewArea; private static JTextField viewField; private static JButton button1; private static JButton button2; private static JTextField MyName; public static String str=""; public static void main(String[] args) { frame = new JFrame("Chat Room"); viewArea = new JTextArea(10, 30); viewField = new JTextField(50); button1 = new JButton("Send"); button2 = new JButton("Quit"); MyName = new JTextField(); MyName.setColumns(9); MyName.setText("Saber_Lily: "); JPanel panel = new JPanel(); panel.setLayout(new GridLayout(8, 1)); panel.add(MyName); panel.add(button1); panel.add(button2); JScrollPane sp = new JScrollPane(viewArea); viewArea.setLineWrap(true); sp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); sp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); frame.add("Center", sp); frame.add("East", panel); frame.add("South", viewField); viewField.addKeyListener(new KeyListener() { public void keyTyped(KeyEvent arg0) { if (arg0.getKeyChar() == '\n') { String message = ""; message = MyName.getText() + viewField.getText(); str=str+viewField.getText()+"\n"; String ans = "小U: "; ans = ans + TulingController.getTulingRe(viewField.getText()); viewField.setText(""); viewArea.setText(viewArea.getText() + message + "\n"); viewArea.setText(viewArea.getText() + ans + "\n"); viewField.setFocusable(true); viewField.requestFocus(); } } public void keyReleased(KeyEvent arg0) { // TODO Auto-generated method stub } public void keyPressed(KeyEvent arg0) { // TODO Auto-generated method stub } }); frame.setSize(700, 500); frame.setVisible(true); // 居中显示 frame.setLocationRelativeTo(null); button1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { String message = ""; message = MyName.getText() + viewField.getText(); String ans = "小U: "; ans = ans + TulingController.getTulingRe(viewField.getText()); viewField.setText(""); viewArea.setText(viewArea.getText() + message + "\n"); viewArea.setText(viewArea.getText() + ans + "\n"); viewField.setFocusable(true); viewField.requestFocus(); } }); button2.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { System.exit(0); } }); viewField.setFocusable(true); viewField.requestFocus(); // frame.setFocusable(true); // frame.requestFocus(); } }
源代码下载 链接:http://pan.baidu.com/s/1kU7iQc3 密码:4bbk
相关文章推荐
- Java开发之static关键字
- 如何在命令行中运行java程序
- Java 集合类详解
- Eclipse安装应知应会
- Java内存模型总结
- Spring框架:Spring容器具体解释
- java 中 Thread.sleep方法的含义
- java.sql.Exception:setString 只能处理少于 32766 个字符的字符串
- Java并发:ThreadLocal详解
- Eclipse:打包时出现Conversion to Dalvik format failed with error 1
- Java 实现导出excel表 POI
- maven强制更新 eclipse 操作
- Spring中多配置文件及引用其他bean的方式
- Java - 经典代码题
- Java Method的invoke简单理解
- JavaSe基础(17)-- interface 接口
- Java 发送邮件 demo
- 深入浅析Spring 的aop实现原理
- 算法-排序算法-插入排序
- Eclipse常用快捷键