import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class Tongxunlu {
public static void main(String args[]){
FirstWindow win=new FirstWindow("通讯录");
}
}
class FirstWindow extends JFrame implements ActionListener{
JMenuBar menubar;
JMenu wenjian,bianji,guanyu;
JMenuItem xianshi,beifen,daoru,tuichu,zengjia,chaxun,shanchu,wo;
JScrollPane scpan;
JFrame duihua;
JFrame fselect;
JButton quedingb=new JButton("确定");
JButton fqueding;
JTextArea textn=new JTextArea();
JTextArea textt=new JTextArea();
JTextField textname=new JTextField(null);
JTextField texttel=new JTextField(null);
JTextField textqq=new JTextField(null);
JTextField texte=new JTextField(null);
JTextField textfs=new JTextField(null);
int function=0;
JTable table;
Object a[][];
Object b[][];
Object name[]={"ID","姓名","电话","QQ","E-mail"};
int initRows=100;
int tableC,tableR;
int countdatarows;
String tempSql;
String strurl;
Connection conn;
Statement statement;
String sql;
ResultSet rs;
int re;
String inname=null;
String intel=null;
String inqq=null;
String ine=null;
String infn=null;
public void Sqllink(){
try{
strurl="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=txldata.mdb";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn=DriverManager.getConnection("jdbc:odbc:oo","txldata.mdb","") ;
statement = conn.createStatement();
}catch (Exception e) {
e.printStackTrace();
}
}
FirstWindow(String s){
Sqllink();
setTitle(s);
setSize(550,500);
setLocation(300,100);
setVisible(true);
menubar=new JMenuBar();
wenjian=new JMenu("文件");
bianji=new JMenu("编辑");
guanyu=new JMenu("帮助");
xianshi=new JMenuItem("显示所有记录");
beifen=new JMenuItem("文件备份");
daoru=new JMenuItem("导入");
tuichu=new JMenuItem("退出");
zengjia=new JMenuItem("增加记录");
chaxun=new JMenuItem("查询记录");
shanchu=new JMenuItem("删除记录");
wo=new JMenuItem("关于");
wenjian.add(xianshi);
wenjian.addSeparator();
wenjian.add(beifen);
wenjian.add(daoru);
wenjian.addSeparator();
wenjian.add(tuichu);
menubar.add(wenjian);
bianji.add(zengjia);
bianji.addSeparator();
bianji.add(chaxun);
bianji.addSeparator();
bianji.add(shanchu);
menubar.add(bianji);
guanyu.add(wo);
menubar.add(guanyu);
setJMenuBar(menubar);
validate();
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
a=new Object[initRows][5];
table=new JTable(a,name);
table.setRowHeight(20);
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
table.getColumnModel().getColumn(0).setPreferredWidth(25);
table.getColumnModel().getColumn(1).setPreferredWidth(100);
table.getColumnModel().getColumn(2).setPreferredWidth(100);
table.getColumnModel().getColumn(3).setPreferredWidth(100);
table.getColumnModel().getColumn(4).setPreferredWidth(196);
getContentPane().removeAll();
add(new JScrollPane(table),BorderLayout.CENTER);
setVisible(true);
validate();
xianshi.addActionListener(this);
beifen.addActionListener(this);
daoru.addActionListener(this);
tuichu.addActionListener(this);
zengjia.addActionListener(this);
chaxun.addActionListener(this);
shanchu.addActionListener(this);
wo.addActionListener(this);
}
public void actionPerformed(ActionEvent e){
Object queding;
if(e.getSource()==zengjia)
zeng();
else if(e.getSource()==chaxun)
cha();
else if(e.getSource()==shanchu)
shan();
else if(e.getSource()==xianshi){
xian("txl");
}
else if(e.getSource()==tuichu)
System.exit(0);
else if(e.getSource()==beifen){
bei();
}
else if(e.getSource()==daoru){
dao();
}
else if(e.getSource()==wo){
JFrame about=new JFrame("关于");
about.setBounds(600, 200, 200, 50);
JTextArea me=new JTextArea(" Made by Houou-DIY");
me.setEditable(false);
about.add(me,BorderLayout.CENTER);
about.setVisible(true);
}
else if(e.getSource()==quedingb){
inname=textname.getText();
if(inname.equals(""))inname=null;
intel=texttel.getText();
if(intel.equals(""))intel=null;
inqq=textqq.getText();
if(inqq.equals(""))inqq=null;
ine=texte.getText();
if(ine.equals(""))ine=null;
textname.setText(null);
texttel.setText(null);
textqq.setText(null);
texte.setText(null);
duihua.setVisible(false);
if(function==1){
function=0;
Insert();
}
if(function==2){
function=0;
Select();
}
}
else if(e.getSource()==fqueding){
infn=textfs.getText();
textfs.setText(null);
fselect.setVisible(false);
if(function==3){
function=0;
Backupf();
}
if(function==4){
function=0;
Importf();
}
}
}
public void bei(){
function=3;
fselect("备份");
}
public void dao(){
function=4;
fselect("导入");
}
public void zeng(){
function=1;
duihua("新建记录");
}
public void cha(){
function=2;
duihua("请输入查询条件");
}
public void shan(){
tableR=table.getSelectedRow();
tableC=0;
tempSql=(String)table.getValueAt(tableR, tableC);
sql="DELETE * FROM txl WHERE id="+tempSql;
try {
rs=statement.executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
}
xian("txl");
}
public void xian(String datatable){
int i=0,j=0;
countdatarows=0;
for(i=0;i<=10;i++){
a[i][0]=null;
for(j=1;j<=4;j++){
a[i][j]=null;
}
}
i=0;
j=0;
try {
sql="SELECT * FROM "+datatable;
rs = statement.executeQuery(sql);
while (rs.next()) {
a[i][j]=rs.getString("id");
j++;
a[i][j]= rs.getString("name");
j++;
a[i][j]= rs.getString("tel");
j++;
a[i][j]= rs.getString("qq");
j++;
a[i][j]= rs.getString("email");
j=0;
i++;
countdatarows++;
}
table.repaint();
} catch (Exception e) {
e.printStackTrace();
}
}
public void duihua(String tj){
Box baseBox,bVl,bVt;
duihua=new JFrame(tj);
duihua.setBounds(300,300,300,200);
duihua.setVisible(true);
JLabel labelname=new JLabel("姓名:");
JLabel labeltel=new JLabel("电话:");
JLabel labelqq=new JLabel("QQ:");
JLabel labele=new JLabel("E-mail:");
bVl=Box.createVerticalBox();
bVl.add(labelname);
bVl.add(Box.createVerticalStrut(16));
bVl.add(labeltel);
bVl.add(Box.createVerticalStrut(16));
bVl.add(labelqq);
bVl.add(Box.createVerticalStrut(16));
bVl.add(labele);
bVl.add(Box.createVerticalStrut(20));
bVl.add(Box.createVerticalStrut(16));
bVt=Box.createVerticalBox();
bVt.add(textname);
bVt.add(Box.createVerticalStrut(8));
bVt.add(texttel);
bVt.add(Box.createVerticalStrut(8));
bVt.add(textqq);
bVt.add(Box.createVerticalStrut(8));
bVt.add(texte);
bVt.add(Box.createVerticalStrut(8));
bVt.add(quedingb);
baseBox=Box.createHorizontalBox();
baseBox.add(bVl);
baseBox.add(Box.createHorizontalStrut(2));
baseBox.add(bVt);
quedingb.addActionListener(this);
duihua.add(baseBox);
duihua.validate();
}
public void fselect(String ts){
Box bB,bL,bR;
JLabel labelbn=new JLabel("文件名:");
fqueding=new JButton(ts);
fselect=new JFrame("文件"+ts);
fselect.setBounds(400,300,200,100);
fselect.setVisible(true);
bL=Box.createVerticalBox();
bL.add(labelbn);
bL.add(Box.createVe