通讯录的设计与实现

这个系统由Java代码设计,使用eclipse和SQL Server 2012,不遵循MVC模式,采用全局变量优化内存。关键类包括Addressbook、windows、init等,涉及User1和Information两个数据库表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

<<<--------一起学习,共同进步-------->>>


一、通讯录的设计与实现

本系统是由Java代码设计实现,开发工具采用eclipse加1.8版本的JDK,数据库采用SQL server2012。系统的主要功能界面实现采用卡片式布局、开发模式有别于MVC。该系统的亮点应该是通过全局变量来提高系统对于内存空间的利用率暨一个变量反复多次的使用,减少了代码的迭代。下面是需要用到的一些类。

二、具体需要的类

1.Addressbook

import java.awt.Toolkit;

public class Addressbook {
   
   

	public static void main(String[] args) {
   
   
		// TODO Auto-generated method stub
		windows win=new windows();
		win.setTitle("\u901A\u8BAF\u5F55\u7684\u8BBE\u8BA1\u4E0E\u5B9E\u73B0");
		win.setIconImage(Toolkit.getDefaultToolkit().getImage("E:\\eclipse\\Workspace\\Address book\\\u901A\u8BAF\u5F55"));
	}

}

2.windows

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;

public class windows extends Variable{
   
   
	init init;
	public windows() {
   
   
		setBounds(100, 100, 450, 300);	
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		init=new init();
		setVisible(true);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//释放资源
	}
}

3.init

import java.awt.Color;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.SQLException;
import java.awt.event.*;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;

public class init extends Variable {
   
   

	public init(){
   
   
		// TODO Auto-generated method stub
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 450, 300);
		
		JLabel lblNewLabel = new JLabel("\u901A\u8BAF\u5F55");
		lblNewLabel.setIcon(new ImageIcon("E:\\eclipse\\Workspace\\Address book\\\u901A\u8BAF\u5F55"));
		lblNewLabel.setBounds(159, 10, 102, 79);
		contentPane.add(lblNewLabel);
		
		JLabel lblNewLabel_1 = new JLabel("\u8D26\u53F7\uFF1A");//账号标签
		lblNewLabel_1.setBounds(79, 117, 54, 15);
		contentPane.add(lblNewLabel_1);
		
		JLabel lblNewLabel_2 = new JLabel("\u5BC6\u7801\uFF1A");//密码标签
		lblNewLabel_2.setBounds(80, 166, 54, 15);
		contentPane.add(lblNewLabel_2);
		
		textField = new JTextField();//账号输入框
		textField.setBounds(127, 113, 200, 21);
		contentPane.add(textField);
		textField.setColumns(10);
		
		passwordField = new JPasswordField();//密码输入框
		passwordField.setBounds(126, 164, 201, 21);
		contentPane.add(passwordField);
		
		btnNewButton = new JButton("\u767B\u5F55");//登录按钮
		btnNewButton.addActionListener(new ActionListener() {
   
   
			public void actionPerformed(ActionEvent e) {
   
   
				Jdbc jdbc=new Jdbc();
				boolean j=true;
				try {
   
   
					sql=con.createStatement();
					rs=sql.executeQuery("SELECT * FROM User1");
					while(rs.next()){
   
   
						if(textField.getText().equals(rs.getString(1))
								&&String.valueOf( passwordField.getPassword()).equals(rs.getString(2))){
   
   
							Enter enter=new Enter();
							}
							j=false;
							break;
						}
					if(j) {
   
   
						JOptionPane.showMessageDialog(contentPane,"账号或密码错误!");
					}
					con.close();
				} catch (Exception e1) {
   
   
					// TODO Auto-generated catch block
					JOptionPane.showMessageDialog(contentPane, e1);
				}
				
			}
		});
		btnNewButton.setBounds(80, 213, 93, 23);
		contentPane.add(btnNewButton);
		
		btnNewButton_1 = new JButton("\u6CE8\u518C");//注册按钮
		btnNewButton_1.addActionListener(new ActionListener() {
   
   
			public void actionPerformed(ActionEvent e) {
   
   
				Register register=new Register();
			}
		});
		btnNewButton_1.setBounds(233, 212, 93, 23);
		contentPane.add(btnNewButton_1);
	}


}

4.Enter

import java.awt.CardLayout;
import java.awt.Color;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.border.LineBorder;
import javax.swing.border.TitledBorder;

public class Enter extends Variable{
   
   
	public Enter() {
   
   
		contentPane.removeAll();//清空
		contentPane.repaint();//动态更新
		contentPane.revalidate();
		
		card = new CardLayout();
		panel = new JPanel(card);
		panel.setBackground(Color.CYAN);
		panel.setBounds(10, 10, 414, 215);
		contentPane.add(panel);
		
		panel_1 = new JPanel();
		panel_1.setBackground(Color.WHITE);
		panel_1.setBorder(new TitledBorder(new LineBorder(new Color(0, 0, 0), 2)));
		panel.add(panel_1, "name_1");
		panel_1.setLayout(null);
		
		btnNewButton = new JButton("\u4FEE\u6539\u8054\u7CFB\u4EBA");//第2次使用btnNewButton按钮-->修改联系人
		btnNewButton.addActionListener(new ActionListener() {
   
   
			public void actionPerformed(ActionEvent e) {
   
   
				card.first(panel);
				card.next(panel);
				card.next(panel);
				card.next(panel);
			}
		});
		btnNewButton.setBounds(86, 70, 120, 30);
		panel_1.add(btnNewButton);
		
		Add add=new Add();
		Remove remove=new Remove();
		Revise Revise=new Revise();
		Enquire Enquire=new Enquire();
		Look Look =new Look();
		show show=new show();
		btnNewButton = new JButton("\u65B0\u589E\u8054\u7CFB\u4EBA");//第3次使用btnNewButton按钮-->新增联系人
		btnNewButton.addActionListener(new ActionListener() {
   
   
			public void actionPerformed(ActionEvent e) {
   
   
				card.first(panel);
				card.next(panel);
			}
		});
		btnNewButton.setBounds(86, 28, 120, 30);
		panel_1.add(btnNewButton);
		
		btnNewButton = new JButton("\u5220\u9664\u8054\u7CFB\u4EBA");//第4次使用btnNewButton按钮-->删除联系人
		btnNewButton.addActionListener(new ActionListener() {
   
   
			public void actionPerformed(ActionEvent e) {
   
   
				card.first(panel);
				card.next(panel);
				card.next(panel);
			}
		});
		btnNewButton.setBounds(230, 28, 120, 30);
		panel_1.add(btnNewButton);
		
		btnNewButton = new JButton("\u6309\u540D\u5B57\u67E5\u627E");//第5次使用btnNewButton按钮-->按名字查找
		btnNewButton.addActionListener(new ActionListener() {
   
   
			public void actionPerformed(ActionEvent e) {
   
   
				card.last(panel);
				card.previous(panel);
				card.previous(panel);
			}
		});
		btnNewButton.setBounds(230, 70, 120, 30);
		panel_1.add(btnNewButton);
		
		
		btnNewButton = new JButton("\u53F7\u7801\u663E\u793A");//第8次使用btnNewButton按钮-->全部显示
		btnNewButton.addActionListener(new ActionListener() {
   
   
			public void actionPerformed(ActionEvent e) {
   
   
				card.last(panel);
			}
		});
		btnNewButton.setBounds(86, 115, 120, 30);
		panel_1.add(btnNewButton);
		
		btnNewButton = new JButton("\u9000\u51FA");//第9次使用btnNewButton按钮-->退出
		btnNewButton
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值