⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tongxunlu.java

📁 一个简单的个人通讯录
💻 JAVA
字号:
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.createVerticalStrut(20));
		bL.add(Box.createVerticalStrut(16));
		bR=Box.createVerticalBox();
		bR.add(textfs);
		bR.add(Box.createVerticalStrut(8));
		bR.add(fqueding);
		bB=Box.createHorizontalBox();
		bB.add(bL);
		bB.add(Box.createHorizontalStrut(2));
		bB.add(bR);
		fqueding.addActionListener(this);
		fselect.add(bB);
		fselect.validate();
	}
	public void Insert(){
		tempSql="INSERT INTO txl(name,tel,qq,email) VALUES("
			+"'"+inname+"'"+","
			+"'"+intel+"'"+","
			+"'"+inqq+"'"+","
			+"'"+ine+"'"+")";
		sql=tempSql;
		try {
			re = statement.executeUpdate(sql);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		xian("txl");
	}
	public void Select(){
		tempSql="SELECT * FROM txl WHERE ";
		if(inname!=null){
			tempSql=tempSql+"name='"+inname+"'";
			if(intel!=null || inqq!=null || ine!=null){
				tempSql=tempSql+" AND ";
			}
		}
		if(intel!=null){
			tempSql=tempSql+"tel='"+intel+"'";
			if(inqq!=null || ine!=null){
				tempSql=tempSql+" AND ";
			}
		}
		if(inqq!=null){
			tempSql=tempSql+"qq='"+inqq+"'";
			if(ine!=null){
				tempSql=tempSql+" AND ";
			}
		}
		if(ine!=null){
			tempSql=tempSql+"email='"+ine+"'";
		}
		int i=0,j=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=tempSql; 
			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++;
				}
			table.repaint();
		}catch (Exception e) {
			e.printStackTrace();
		} 
	}
	public void Backupf(){
		tempSql="CREATE TABLE "
			+infn
			+" (id int PRIMARY KEY,name char(50),tel char(50),qq char(50),email char(50))";
		sql=tempSql;
		try {
			rs=statement.executeQuery(sql);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		tempSql="DELETE FROM "+infn;
		sql=tempSql;
		try {
			rs=statement.executeQuery(sql);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		xian("txl");
		try {
			int i=0,j=0;
			for(i=0;i<=countdatarows;i++){
				tempSql="INSERT INTO "+infn+
				"(id,name,tel,qq,email) VALUES(";
				for(j=0;j<=4;j++){
					if(j==0){
						tempSql=tempSql+(String)a[i][j];
					}
					if(j==1){
						tempSql=tempSql+","+"'"+(String)a[i][j]+"'";
					}
					if(j==2){
						tempSql=tempSql+","+"'"+(String)a[i][j]+"'";
					}
					if(j==3){
						tempSql=tempSql+","+"'"+(String)a[i][j]+"'";
					}
					if(j==4){
						tempSql=tempSql+","+"'"+(String)a[i][j]+"'"+")";
					}
				}
				sql=tempSql;
				re=statement.executeUpdate(sql);
				
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
	public void Importf(){
		tempSql="DELETE FROM txl";
		sql=tempSql;
		try {
			rs=statement.executeQuery(sql);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		xian(infn);
		try {
			int i=0,j=0;
			for(i=0;i<countdatarows;i++){
				tempSql="INSERT INTO txl"+
				"(name,tel,qq,email) VALUES(";
				for(j=1;j<=4;j++){
					if(j==1){
						tempSql=tempSql+"'"+(String)a[i][j]+"'";
					}
					if(j==2){
						tempSql=tempSql+","+"'"+(String)a[i][j]+"'";
					}
					if(j==3){
						tempSql=tempSql+","+"'"+(String)a[i][j]+"'";
					}
					if(j==4){
						tempSql=tempSql+","+"'"+(String)a[i][j]+"'"+")";
					}
				}
				sql=tempSql;
				re=statement.executeUpdate(sql);
				
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -