小编在学java的期间,经过查阅资料经修改,实现的一些简单功能:

1、登录界面:

用户可以选择登录或注册账号,如果初始没有账号,可以通过注册按钮进行注册,然后在进行登录:

代码:

public class SignMenu {private String username;private String password1;private String text;private int flag = 0;public JTextField id;private String name;private String select;public void init() {JFrame f = new JFrame("欢迎使用图书管理系统");// 改变窗口图标Toolkit t = Toolkit.getDefaultToolkit();Image img = t.getImage("src\\menu\\sign.jpg");f.setIconImage(img);// 设置窗口大小f.setSize(600, 600);// 使窗口居中f.setLocationRelativeTo(null);// 设置布局为空f.setLayout(null);// 设置窗口背景图案Icon i = new ImageIcon("src\\menu\\background4.jpg");JLabel jLable = new JLabel(i);jLable.setBounds(0, 0, 600, 600);JPanel panel1 = new JPanel();JPanel panel2 = new JPanel();JPanel panel3 = new JPanel();JPanel panel4 = new JPanel();JPanel panel5 = new JPanel();JPanel panel6 = new JPanel();/* 添加大标题:图书管理系统 */JLabel lable = new JLabel("图书管理系统");Font font = new Font("宋体", Font.BOLD, 40);// 设置字体lable.setFont(font);panel1.add(lable);panel1.setBounds(140, 60, 300, 300);// 设置面板大小f.add(panel1);/* 用户类型标签 */JLabel user = new JLabel("用户类型  ");Font font1 = new Font("宋体", Font.BOLD, 25);user.setFont(font1);panel2.add(user);/* 用户类型的下拉框 */JComboBox<String> j = new JComboBox<String>();Dimension dimension = new Dimension(200, 30);// 框框的大小j.setPreferredSize(dimension);j.addItem("普通用户");j.addItem("管理员用户");Font font2 = new Font("宋体", Font.BOLD, 15);j.setFont(font2);j.setBackground(Color.PINK);panel2.setBounds(90, 160, 400, 300);panel2.add(j);f.add(panel2);/* 账号标签 */JLabel labid = new JLabel("   账号: ");Font font3 = new Font("宋体", Font.BOLD, 25);labid.setFont(font3);panel3.add(labid);/* 输入账户的文本框 */id = new JTextField();id.setPreferredSize(dimension);// id.setBackground(Color.PINK);panel3.add(id);panel3.setBounds(90, 230, 400, 300);f.add(panel3);/* 密码标签 */JLabel labpassword = new JLabel("   密码: ");Font font4 = new Font("宋体", Font.BOLD, 25);labpassword.setFont(font4);panel4.add(labpassword);/* 输入密码文本框 */JPasswordField password = new JPasswordField();password.setPreferredSize(dimension);Font font5 = new Font("宋体", Font.BOLD, 25);password.setFont(font5);password.setBackground(Color.pink);panel4.add(password);panel4.setBounds(90, 290, 400, 300);f.add(panel4);/* 注册登陆按钮 */JButton button1 = new JButton("注册");JButton button2 = new JButton("登陆");button1.setFont(font4);button2.setFont(font4);Dimension dimension2 = new Dimension(100, 50);button1.setPreferredSize(dimension2);button2.setPreferredSize(dimension2);button1.setBackground(Color.PINK);button2.setBackground(Color.PINK);panel5.add(button1);panel6.add(button2);panel5.setBounds(150, 370, 150, 400);panel6.setBounds(330, 370, 150, 400);f.add(panel5);f.add(panel6);id.setOpaque(false);password.setOpaque(false);panel1.setOpaque(false);panel2.setOpaque(false);panel3.setOpaque(false);panel4.setOpaque(false);panel5.setOpaque(false);panel6.setOpaque(false);f.add(jLable);/* 用户类型 */select = "普通用户";j.addItemListener(new ItemListener() {@Overridepublic void itemStateChanged(ItemEvent e) {if (e.getStateChange() == ItemEvent.SELECTED) {select = (String) e.getItem();}}});/* 点击注册跳转到注册界面 */button1.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {f.dispose();Regest r = new Regest();try {r.show();} catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}});/* 登陆信息比对 */button2.addActionListener(new ActionListener() {@SuppressWarnings("deprecation")public void actionPerformed(ActionEvent e) {setText(j.getToolTipText());username = id.getText().trim();password1 = password.getText().trim();try {flag = select(username, password1);} catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();}if (flag == 1) {// 密码输入正确name = id.getText().trim();if (select == "普通用户") {f.dispose();new User(name);} else if (select == "管理员用户") {flag = 0;try {flag = ensure(name);} catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();}if (flag == 1) {new Admin(name);f.dispose();} else {JOptionPane.showMessageDialog(null, "对不起,您还不是管理员", "警告", JOptionPane.WARNING_MESSAGE);}}} else if (flag == 0) {// 密码输入错误JOptionPane.showMessageDialog(null, "密码输入有误", "抱歉", JOptionPane.PLAIN_MESSAGE);} else if (flag == 2) {JOptionPane.showMessageDialog(null, "用户名不存在", "注意", JOptionPane.PLAIN_MESSAGE);}}private void setText(String toolTipText) {// TODO Auto-generated method stub}});// 设置不可改变窗口大小f.setResizable(false);f.setVisible(true);f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}

2、注册:

注册要求对密码进行限制,只能是6~12位的数字和字符组成,用正则表达式进行判断,增强了密码的安全性,如果哪一项为空,就会弹出相应的提示框:

代码:

public class Regest {private String username;private String password;private String repassword;private String name;public void show() throws Exception {JFrame f = new JFrame("注册"); //改变窗口图标Toolkit tool = Toolkit.getDefaultToolkit();Image img = tool.getImage("src\\menu\\sign.jpg");f.setIconImage(img);f.setSize(400, 500);f.setLocationRelativeTo(null);f.setLayout(null);/*设置窗口背景图案*/Icon i = new ImageIcon("src\\menu\\regist.jpg");JLabel label = new JLabel(i);label.setBounds(0, 0, 400, 500);JPanel panel1 = new JPanel();JPanel panel2 = new JPanel();JPanel panel3 = new JPanel();JPanel panel4 = new JPanel();JPanel panel5 = new JPanel();JPanel panel6 = new JPanel();@SuppressWarnings("unused")JPanel panel7 = new JPanel();//界面文字的字体,字形,字号Font font = new Font("宋体",Font.BOLD,15);//界面框框的字体,字形,字号Font font2 = new Font("宋体",Font.BOLD,25);Dimension dimension = new Dimension(200,30);panel1.setLayout(null);/*返回按钮*/JButton rebutton = new JButton("返回");Font font4 = new Font("宋体",Font.BOLD,12);rebutton.setFont(font4);Dimension dimension1 = new Dimension(60,40);rebutton.setPreferredSize(dimension1);rebutton.setBackground(Color.white);rebutton.setBounds(0, 0, 60, 40);panel1.add(rebutton);f.add(panel1);//添加注册大标题JLabel regist = new JLabel("注册");Font font1 = new Font("宋体",Font.BOLD,36);regist.setFont(font1);regist.setBounds(150, 10, 400, 70);panel1.add(regist);panel1.setBounds(0, 0, 400, 70);       //添加用户名标签JLabel labname = new JLabel(" 用户名:");labname.setFont(font);panel2.add(labname);//添加用户名文本框JTextField textname = new JTextField();textname.setPreferredSize(dimension);panel2.add(textname);panel2.setBounds(10, 90, 300, 70);f.add(panel2);/*添加设置密码标签*/JLabel labpassword = new JLabel("设置密码:");labpassword.setFont(font);panel3.add(labpassword);/*添加设置密码的文本框*/JPasswordField textpassword = new JPasswordField();textpassword.setPreferredSize(dimension);textpassword.setFont(font2);panel3.add(textpassword);JLabel labrequest = new JLabel("         *密码由6-12位数字、字符组成*");Font font3 = new Font("宋体",Font.BOLD,12);labrequest.setFont(font3);labrequest.setForeground(Color.red);panel3.add(labrequest);panel3.setBounds(10, 150, 300, 70);f.add(panel3);/*重新输入密码标签*/JLabel labpassword1 = new JLabel("确认密码:");labpassword1.setFont(font);panel4.add(labpassword1);/*重新输入密码文本框*/JPasswordField textpassword1 = new JPasswordField();textpassword1.setPreferredSize(dimension);textpassword1.setFont(font2);panel4.add(textpassword1);panel4.setBounds(10, 210, 300, 70);f.add(panel4);/*设置姓名标签*/JLabel labelname = new JLabel("    姓名:");labelname.setFont(font);panel5.add(labelname);/*输入姓名文本框*/JTextField textname1 = new JTextField();textname1.setPreferredSize(dimension);panel5.add(textname1);panel5.setBounds(10, 270, 300, 70);f.add(panel5);/*添加注册按钮*/JButton button = new JButton("注册");Font font5 = new Font("宋体",Font.BOLD,25);button.setFont(font5);Dimension dimension2 = new Dimension(200,40);button.setPreferredSize(dimension2);button.setBackground(Color.pink);panel6.add(button);panel6.setBounds(100, 340, 200, 50);f.add(panel6);

3、普通用户主页面:

普通用户可以进行借阅图书,归还图书以及查看自己的借阅图书历史记录,同时还可以修改用户信息:

4、管理员界面:

同普通用户差不多,管理员用户可以查看所有的借阅图书历史记录,对图书以及用户信息的增、删、查、改等操作:

5、用户管理

6、增加用户

有不足之处,欢迎交流,同时附上源码,回复 “CSDN” ,有问题的私聊小编……

基于java设计的图书管理系统相关推荐

  1. java用spring图书管理系统_基于Java + SpringMVC的图书管理系统

    需求分析 基于Java+SpringMVC的图书管理系统, 实现读者和管理员登陆,图书的增删改查,读者的增删改查,借还图书,密码修改,卡号挂失,超期提醒等功能 本站提供了其他类型的 图书管理系统源代码 ...

  2. javaweb 图书管理系统完整代码_基于Java web的图书管理系统

    源码编号:B-E00029点击查看(分类规则) 项目类型:Java EE项目(非开源) 项目名称:基于Java web的图书管理系统(library_system) 当前版本:V2.0.2版本 难度等 ...

  3. 基于Java+Swing+mysql图书管理系统

    基于Java+Swing+mysql图书管理系统 一.系统介绍 二.功能展示 1.用户登陆 2.图书管理 3.图书添加 4.图书类别管理 5.图书类别添加 三.数据库 四.其它 1.其他系统实现 五. ...

  4. 基于java的图书租赁系统_基于java web的图书管理系统

    基于java web的图书管理系统 追逐梦想 2019-06-11 20:20 浏览 3413 下载 36 如需远程调试,部署,等技术支持(非源码问题有偿),定制源码,请联系在线客服 基于jsp+se ...

  5. 基于Java基础的图书管理系统

    文章目录 前言 一.前期准备 二.需求分析 三.核心代码开发 1. model 层 1.1. Book 类 1.2. User 类 1.3. NormalUser 类 1.4. Admin 类 2. ...

  6. 基于JAVA的学校图书管理系统(Swing+GUI)

    目 录 第1章 绪论 1 1.1系统开发背景和意义 1 1.2系统可行性研究 1 1.3系统开发目标 2 1.4开发平台.运行环境 2 第2章 相关技术概述 3 2.1Java语言简介 3 2.2 S ...

  7. 基于java,swing图书管理系统源码下载(含数据库脚本) 附下载

    资源简介 1.执行数据库脚本文件 生成数据库 2. 修改  ibraryManager\src\com\wsy\dao\DAO.java 文件中的 数据库密码为你本机 3. 运行该程序后,输入 账号: ...

  8. 【Java课程设计】基于Java Swing 的图书管理系统

    文章目录 前言 一.功能结构 二.项目预览 三.数据库的设计 四.数据表的设计 五.代码实现 总结 前言

  9. 基于Java+Spring的图书管理系统详细设计和实现

     博主介绍:✌全网粉丝20W+,csdn特邀作者.博客专家.CSDN新星计划导师.java领域优质创作者,博客之星.掘金/华为云/阿里云/InfoQ等平台优质作者.专注于Java技术领域和毕业项目实战 ...

最新文章

  1. 基于深度学习的视觉三维重建研究总结
  2. 父元素事件中禁止子元素的事件
  3. Bugzilla/使用
  4. 几个环境变量说明:ORACLE_SID、DB_NAME、INSTANCE_NAME、DB_DOMIAN、GLOBAL_NAMES
  5. div文字自动扩充_文字资料扩充
  6. ajax拼接显示不同样式,Ajax重点整理
  7. Linux内核 scatterlist介绍
  8. 互联网公司的项目经理:客户伤不起
  9. niosii spi 外部_NIOS II SPI详解 如何使用SPI方式传输
  10. JSON.stringify(Data) 在IE8 里面不可用
  11. 运输层课后第61题解读
  12. 物理术语的理解(二)
  13. abaqus盾构隧道建模实例_abaqus盾构施工模拟
  14. Day4--MATLAB简介
  15. Origin2018安装教程
  16. cmd命令查询硬盘序列号,磁盘ID,MAC地址
  17. 软件测试-黑盒测试:正交实验设计法
  18. django相关报错知识整理
  19. 冰蝎3 冰蝎2 behinder流量分析 流量解密
  20. 联想TD350服务器主板型号,【新品】塔式机身 联想ThinkServer TD350

热门文章

  1. Figma#6:Auto Layout自动布局
  2. 鸿蒙 ros,ROS多线路负载均衡
  3. 亲,你寄的 U盘不是 4G 的哟~
  4. 分享57个Python源码,总有一款适合您
  5. SQL注入-05-防御修复建议
  6. 「Wireshark网络分析就这么简单」 读书笔记
  7. 2分钟学会一个简单USB插入检测电路
  8. 图扑软件智慧能源一体化管控平台
  9. AlphaFold2源码解析(3)--数据预处理
  10. (几何学:五六边形面积)编写一个程序,提示用户输入五边形顶点到中心的距离r,然后算出五边形的面积。