package com.dangdang.serach;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.util.Vector;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class MainFrame extends JFrame implements ActionListener {
private DataSearch ds;
private JScrollPane sPanel;
private Vector vecResult;
private JPanel panel;
private JLabel lab1;
private JButton SerchBtn;
private JButton CreateIndexBtn;
private JTextField txt;
private JCheckBox checkBox;
private JTextArea area;
public MainFrame(String file) {
super();
this.setTitle("dangdang data search");
// set position and size
this.setBounds(300, 300, 800, 500);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setResizable(false);
// init
mainInit();
ds = new DataSearch(file);
vecResult = new Vector();
}
/**
* init the swing form
*/
public void mainInit() {
panel = new JPanel();
lab1 = new JLabel("please input name:");
lab1.setBounds(30, 10, 200, 30);
SerchBtn = new JButton("search");
SerchBtn.setBounds(440, 10, 80, 30);
SerchBtn.addActionListener(this);
CreateIndexBtn = new JButton("create index file");
CreateIndexBtn.setBounds(600, 10, 150, 30);
CreateIndexBtn.addActionListener(this);
txt = new JTextField();
txt.setBounds(150, 10, 270, 30);
checkBox = new JCheckBox("index");
checkBox.setBounds(530, 10, 70, 30);
area = new JTextArea();
area = new JTextArea("");
area.setVisible(true);
sPanel = new JScrollPane();
sPanel.getViewport().add(area);
sPanel.setBounds(7, 45, 780, 400);
panel.add(lab1);
panel.add(txt);
panel.add(sPanel);
panel.add(checkBox);
panel.add(SerchBtn);
panel.add(CreateIndexBtn);
panel.setLayout(null);
this.add(panel);
}
public void actionPerformed(ActionEvent event) {
if (event.getSource() == SerchBtn) //
{
String searchName = txt.getText().trim();
if (searchName.length() < 2) {
JOptionPane.showMessageDialog(null,
"please enter the corrent name!");
return;
}
long start = System.currentTimeMillis();
area.setText("");
try {
if (checkBox.isSelected()) {
vecResult = ds.selectUseIndex(searchName);
} else {
vecResult = ds.select(searchName);
}
} catch (IOException e) {
e.printStackTrace();
}
for (int i = 0; i < vecResult.size(); i++) {
area.append(vecResult.get(i) + "\n");
}
long end = System.currentTimeMillis();
String tmp = "Total records��" + vecResult.size()
+ "��consuming time:" + (end - start) + "ms";
JOptionPane.showMessageDialog(null, tmp);
} else if (event.getSource() == CreateIndexBtn) {
try {
long start = System.currentTimeMillis();
ds.createIndexFile();
long end = System.currentTimeMillis();
String tmp = "create index file " + "consuming time:"
+ (end - start) + "ms";
JOptionPane.showMessageDialog(null, tmp);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
Java 实现当当泄露数据快速检索
需积分: 10 154 浏览量
2015-12-22
09:49:07
上传
评论
收藏 13KB ZIP 举报
huangshanchun
- 粉丝: 5917
- 资源: 55
最新资源
- 常用工具集参考用于图像等数据处理
- 音乐展示网页、基于Stenography的图像数字水印添加与提取,以及基于颜色矩和Tamura算法的图像相似度评估算法py源码
- 基于EmguCV(OpenCV .net封装),图像数字水印加解密算法的实现,其中包含最低有效位算法,离散傅里叶变换算法+文档书
- 基于matlab+DWT的图像水印项目,数字水印+源代码+文档说明+图片+报告pdf
- (优秀毕业设计)基于python实现的数字图像可视化水印系统的设计与实现,多种数字算法实现+源代码+文档说明+理论演示pdf
- 基于DWT-DCT-SVD和deflate压缩的数字水印方法python源码+Gui界面+演示视频(高分毕业设计)
- 基于matlab实现DWT、DCT、SVD算法数字图像水印可视化系统+GUI界面+文档说明+详细注释(高分毕业设计)
- NCIAE-Data-Structure大一大二笔记
- 学习wireshark笔记
- digital-image-数据可视化笔记
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈