一个简单的自创词典程序

import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;

public class DateWin extends JFrame implements ActionListener {

private JTextArea textArea_1;
private JTextField textField_1;
private JTextArea TextArea;
private JTextField textField;
int coumt;
private JButton button_1,button;
private File file;//getClass().getResource.toString());
private FileReader fin;
private FileWriter fout;
private BufferedReader bin;
private BufferedWriter bout;

/**
* Launch the application
* @param musiclee
*/
public static void main(String args[]) {
try{new File("C://Documents and Settings//zcdata.lee").createNewFile();}
catch(IOException e1){System.exit(0);}
try {
DateWin frame = new DateWin();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}

/**
* Create the frame
*/
public DateWin() {
super();
setResizable(false);
setTitle("自创词典");
setBackground(Color.CYAN);
getContentPane().setLayout(null);
setBounds(100, 100, 500, 375);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

final JLabel label = new JLabel();
label.setFont(new Font("微软雅黑", Font.PLAIN, 11));
label.setBackground(Color.BLUE);
label.setText(" 自创词典");
label.setBounds(191, 0, 110, 32);
getContentPane().add(label);

final JLabel label_1 = new JLabel();
label_1.setText("输入要查寻的单词:");
label_1.setBounds(72, 55, 137, 15);
getContentPane().add(label_1);

button = new JButton();
button.addActionListener(this);
button.setText("查询");
button.setBounds(400, 51, 63, 23);
getContentPane().add(button);

textField = new JTextField();
textField.addKeyListener(new KeyAdapter() {
public void keyReleased(KeyEvent arg0) {
if(arg0.getKeyChar()=='/n')
{
sreach();
}
}
});
textField.setBounds(191, 53, 189, 20);
getContentPane().add(textField);

TextArea = new JTextArea();
TextArea.setLineWrap(true);
TextArea.setEditable(false);
TextArea.setBounds(72, 76, 391, 99);
getContentPane().add(TextArea);

final JLabel label_2 = new JLabel();
label_2.setText("输入要添加的单词:");
label_2.setBounds(72, 191, 137, 15);
getContentPane().add(label_2);

textField_1 = new JTextField();
textField_1.setBounds(191, 189, 189, 20);
getContentPane().add(textField_1);

button_1 = new JButton();
button_1.addActionListener(this);
button_1.setText("添加");
button_1.setBounds(400, 187, 63, 23);
getContentPane().add(button_1);

textArea_1 = new JTextArea();
textArea_1.addKeyListener(new KeyAdapter() {
public void keyReleased(KeyEvent arg0) {
if(arg0.getKeyChar()=='/n')
{
add();
}
}
});
textArea_1.setLineWrap(true);
textArea_1.setBounds(72, 244, 389, 93);
getContentPane().add(textArea_1);

final JLabel label_3 = new JLabel();
label_3.setText("在此输入添加单词的意思:");
label_3.setBounds(72, 223, 172, 15);
getContentPane().add(label_3);
//

file=new File("C://Documents and Settings//zcdata.lee");
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e)
{
System.out.println(" "+e);
}

}

public void actionPerformed(ActionEvent arg0) {
// TODO 自动生成方法存根


if(arg0.getSource()==button)
{
sreach();
}
else if(arg0.getSource()==button_1)
{
add();
}
}

private void sreachStream() throws IOException { //查找流

String ta=" ";
String[] str=new String[2];
fin=new FileReader(file);
bin=new BufferedReader(fin);
while(bin.ready())
{
str=bin.readLine().split("@",2);
if(str[0].equals(textField.getText().trim()))
{
//TextArea.setText(str[1]);
ta=ta+str[1]+" ";
coumt=1;
//break;
}
}
TextArea.setText("该单词的词义有:"+ta);
if(coumt==0)
{
TextArea.setText("没有该单词");
}

bin.close();
}

private void addStream() throws IOException{ //添加流
// TODO 自动生成方法存根
//String[] chec=new String[2];
String s1=textField_1.getText().trim(),
s2=textArea_1.getText().trim();
String str=s1+"@"+s2;
fin=new FileReader(file);
int len=(int)file.length();
char [] buffer = new char[len];
fin.read(buffer,0,len);
fout=new FileWriter(file);
bout=new BufferedWriter(fout);
bout.write(buffer);
bout.newLine();
bout.append(str);
bout.close();
}

private void add() { //添加方法
if(textArea_1.getText().equals("")||textArea_1.getText().contains("词意不能为空...")||textArea_1.getText().contains("添加成功!!"))
{
textArea_1.setText("词意不能为空...");
}
else
{ coumt=0;
try{addStream();
textArea_1.setText("添加成功!!");}
catch(IOException ee)
{textArea_1.setText("添加失败!!");}
}
}

private void sreach() { //查找方法
if(textField.getText().trim().equals(""))
{TextArea.setText("请填入要查找的单词...");}
else
{
coumt=0;
try{sreachStream();}
catch(Exception ee)
{TextArea.setText(ee.toString());}
}
}
}
 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值