📄 tongxunlu.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 + -