无脑机器人对话(人机对话)
一、使用的内容:
①:java swing:用于简单的GUI页面
②:io流中的部分知识
二、代码如下:
import java.io.*;
import java.awt.*;
import java.util.Arrays;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.*;
public class SwingDemo01{
private static void createGUI(){
// JFrame指一个窗口,构造方法的参数为窗口标题
MyFrame01 frame = new MyFrame01("无脑机器人");
//点×关闭窗口
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 设置窗口的其他参数,如窗口大小
frame.setSize(400, 300);
// 显示窗口
frame.setVisible(true);
}
public static void main(String[] args){
new SwingDemo01().createGUI();
}
}
class MyFrame01 extends JFrame{
JLabel label = new JLabel("请输入:");
JTextField textField = new JTextField(16);
JButton button = new JButton("确定");
JButton button02 = new JButton("清空");
JTextArea textArea = new JTextArea(15, 30);
public MyFrame01(String title){
super(title);
// 内容面板 (ContentPane)
Container contentPane = getContentPane();
contentPane.setLayout(new FlowLayout());
// 添加控件
contentPane.add(label);
contentPane.add(textField);
contentPane.add(button);
contentPane.add(button02);
contentPane.add(textArea);
// 按钮点击处理
button.addActionListener( new ActionListener() {
public void actionPerformed(ActionEvent e){
onButtonOk();
}
});
button02.addActionListener( new ActionListener() {
@Override
public void actionPerformed(ActionEvent e){
textArea.setText("");
}
});
}
// 事件处理
private void onButtonOk(){
//取得用户的输入,并且添加到文本框中
String str = textField.getText();
this.textArea.append(this.textField.getText() + "\n");
// 获取文件路径,对话.txt文件和这个java文件在同一个文件夹下
File file = new File("对话.txt");
try {
// 获取输入的字节
FileInputStream fis = new FileInputStream(file);
//如果不行,改成"UTF-8"试试,InputStreamReader是从字节流到字符流的桥,可以更改的字符集
InputStreamReader reader = new InputStreamReader(fis,"UTF-8");
// 从字符输入流读取文本,缓冲字符,以提供字符,数组和行的高效读取。
BufferedReader br = new BufferedReader(reader);
String line,f;
while (((line = br.readLine()) != null)){
if(line.equals(this.textField.getText())){
line = br.readLine();
this.textArea.append( line +"\n");
}
}
br.close();
reader.close();
}catch (Exception e) {
e.printStackTrace();
}
// 每次输入自动把textField清空
this.textField.setText("");
}
}