设计目的:某公司安装了电子门,要设计门禁系统。

设计要求:

(1) 公司的雇员可以凭借密码、卡号和指纹进入公司

(2) 计算机根据雇员的验证方式对其身份进行验证

(3) 管理员在监控室可以通过按钮直接开启电子门

(4) 访客可以按门铃请求进入,由管理员为其放行


功能:注册 查询 删除 查询全部 指纹绑定 修改 管理员开门 开门 模拟访客

查询:分为id查询和姓名查询

修改:姓名 密码 指纹 的修改

开门:分为指纹开门 和帐号密码开门

text.java

package com;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Objects;
import java.util.Scanner;
public class text extends JFrame {static Long id[] =new Long[200];          //帐号static String password[]=new String[200];  //密码static String name[]=new String[200];       //姓名static int printfinger[]=new int[200];public static int open=0;//门为关闭状态public void setId(int i ,long a) {            //id写入this.id[i] = a;}public void setPassword(int i,String password){      //password写入this.password[i] = password;}public void setName(int i,String name){        //设置姓名this.name[i] = name;}public void setPrintfinger(int i,int finger){this.printfinger[i]=finger;}public int  redeleat(Long inputid){int y=0;for (int c=0;c<id.length;c++){if(Objects.equals(inputid, id[c])){//解决for循环里的if breaky=c;}}return y;}public void Deleat() {//删除// String re="删除失败,无此id";long inputid = new error().Deleatbutton();System.out.println("inputid"+inputid);int u=redeleat(inputid);if (Objects.equals(inputid, id[u])) {  //if (u != 200) {for (int j = u; j < id.length - 1; j++) {this.id[j] = this.id[j + 1];this.name[j] = this.name[j + 1];this.password[j] = this.password[j + 1];this.printfinger[j] = this.printfinger[j + 1];}new error().desucc();} else if (Objects.equals(u, 200)) {id[200] = Long.valueOf(0);password[200] = null;name[200] = null;printfinger[200] = 0;new error().desucc();}}else if(Objects.equals(inputid,Long.valueOf(0))){System.out.println("test");}else{new error().deerr();}}//return re;}

opendoor.java

package com;import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Objects;public class opendoor extends text {private JButton bt1, bt2, bt3, bt4, bt5,bt6,bt7,bt8,bt9;private JLabel lbl1, lbl2, lbl3, lbl4;private JTextField t1, t2, t3, t4;public opendoor() {JFrame f = new JFrame();Container container = f.getContentPane();container.setLayout(new FlowLayout());bt1 = new JButton("注册");bt2 = new JButton("查询");bt3 = new JButton("删除");bt4 = new JButton("查询全部");bt5 = new JButton("指纹绑定");bt6 = new JButton("修改");bt7 = new JButton("管理员开门");bt8 = new JButton("开门");bt9 = new JButton("模拟访客");lbl1 = new JLabel("请输入帐号:");lbl2 = new JLabel("请输入密码:");lbl3 = new JLabel("请输入姓名:");lbl4 = new JLabel("指纹效验码:");t1 = new JTextField(15);t2 = new JTextField(15);t3 = new JTextField(15);t4 = new JTextField(15);container.add(lbl1);container.add(t1);container.add(lbl2);container.add(t2);container.add(lbl3);container.add(t3);container.add(lbl4);container.add(t4);container.add(bt1);container.add(bt2);container.add(bt3);container.add(bt4);container.add(bt5);container.add(bt6);container.add(bt7);container.add(bt8);container.add(bt9);t1.addActionListener(new text1());t2.addActionListener(new text1());t3.addActionListener(new text1());t4.addActionListener(new text1());bt1.addActionListener(new text1());bt2.addActionListener(new text2());bt3.addActionListener(new text2());bt4.addActionListener(new text2());bt5.addActionListener(new text2());bt6.addActionListener(new text2());bt7.addActionListener(new text2());bt8.addActionListener(new text2());bt9.addActionListener(new text2());f.setResizable(false);f.setSize(320, 500);f.setLocation(500, 500);f.setTitle("门禁管理系统");f.setVisible(true);f.setDefaultCloseOperation(DISPOSE_ON_CLOSE);}public static void main(String[] args) {           //主函数new opendoor();}
class text2 implements ActionListener{@Overridepublic void actionPerformed(ActionEvent e) {   //其他按钮监听if(e.getSource()==bt2){//查询选择new error().Cselect();}if (e.getSource() == bt3) {Deleat();//删除}if(e.getSource()==bt4){   //查询全部new error().cx();}if(e.getSource()==bt5){new error().fix();//指纹绑定}if(e.getSource()==bt6){new error().correct();//修改选择}if(e.getSource()==bt7){  //管理员开门new error().openl();}if(e.getSource()==bt8){  //开门new error().copen();}if (e.getSource()==bt9) {  //模拟访客new error().momi();}}
}
class text1  implements ActionListener {@Overridepublic void actionPerformed(ActionEvent e) {String thid = t1.getText();String passwoed = t2.getText();String name = t3.getText();          //注册按钮监听与文本输入监听String finger= t4.getText();if (e.getSource() == bt1) {//注册//  if (!Objects.equals(thid,"")) {Long thisid= Long.valueOf(thid);zhuce(thisid, name, passwoed, finger);// }else {//     new error().illegal();//  }}}
}public boolean congfu(long a){boolean ee=false;for(int q=0;q<id.length;q++){if(Objects.equals(id[q],a)){ee=true;}}return ee;}
static int i=0;public void zhuce(Long a,String name,String password,String finger) {//门禁注册System.out.println(id.length);if(congfu(a)){new error().err();}  else{setId(i, a);setName(i, name);setPassword(i, password);if(Objects.equals(finger,"")){finger= String.valueOf(0);}int figerl= Integer.parseInt(finger);setPrintfinger(i,figerl);i++;new error().success();}}
}

error.java

package com;
import javax.swing.*;
import com.opendoor;
import java.awt.*;
import java.util.Objects;public class error extends text {//一个弹窗的类  继承软件的弹窗的类 也是一个窗口//public void jinchengdiuqi(){
//    for(int i=0;;i++){
//        if(Objects.equals(i,10)){
//            break;
//        }
//
//    }
//}
//        private JLabel er1;
//        private JTextField id;
//        private JDialog er;
//        private JButton butt;public long Deleatbutton() {JDialog er = new JDialog();er.setTitle("删除");er.setBounds(500, 500, 50, 100);er.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);String de = JOptionPane.showInputDialog(er, "请输入删除的id");Long re = Long.valueOf(0);if (Objects.equals(de, "")) {illegal();}else if (Objects.equals(de, null)){de= String.valueOf(0);re = Long.valueOf(de);}else {re = Long.valueOf(de);}return re;}public void deerr(){JDialog er=new JDialog();er.setBounds(500, 500, 50, 100);JOptionPane.showMessageDialog(er,"删除失败","error",JOptionPane.WARNING_MESSAGE);}public void desucc(){JDialog er=new JDialog();er.setBounds(500, 500, 50, 100);er.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);JOptionPane.showMessageDialog(er,"删除成功","success",JOptionPane.WARNING_MESSAGE);}public void err() {JDialog er=new JDialog();er.setBounds(500, 500, 50, 100);er.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);JOptionPane.showMessageDialog(er,"id重复请重新输入","error",JOptionPane.WARNING_MESSAGE);}public boolean success() {JDialog er=new JDialog();er.setBounds(500, 500, 50, 100);er.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);JOptionPane.showMessageDialog(er,"注册成功","success",JOptionPane.INFORMATION_MESSAGE);return true;}public void Cname() {JDialog er=new JDialog();JDialog er2=new JDialog();er.setBounds(500, 500, 50, 100);er.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);er2.setBounds(500, 500, 50, 100);er2.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);String ca;ca= JOptionPane.showInputDialog(er,"请输入要查询的姓名");if (Objects.equals(ca,"")) {illegal();}if(Objects.equals(ca,null)) {}if(!(Objects.equals(ca,"")||Objects.equals(ca,null))){String ce=ca;for (int q = 0; q < text.name.length; q++) {if (Objects.equals(ce, text.name[q])) {JOptionPane.showMessageDialog(er2, "查询成功  " + "帐号:" + text.id[q] + "  密码:" + text.password[q] + "  姓名:" + text.name[q] + " 指纹效验码:" + text.printfinger[q]);break;} else if (Objects.equals(q, 199)){JOptionPane.showMessageDialog(er2, "查询失败,无此人员");break;}}}}public void Cid() {JDialog er = new JDialog();JDialog er2 = new JDialog();er.setBounds(500, 500, 50, 100);er.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);er2.setBounds(500, 500, 50, 100);er2.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);String ca;ca = JOptionPane.showInputDialog(er, "请输入要查询的id");if (Objects.equals(ca,"")) {illegal();}if(Objects.equals(ca,null)) {}if(!(Objects.equals(ca,"")||Objects.equals(ca,null))){long ce= Long.parseLong(ca);for (int q = 0; q < text.id.length; q++) {if (Objects.equals(ce, text.id[q])) {JOptionPane.showMessageDialog(er2, "查询成功  " + "帐号:" + text.id[q] + "  密码:" + text.password[q] + "  姓名:" + text.name[q] + " 指纹效验码:" + text.printfinger[q]);break;} else if (Objects.equals(q, 199)) {JOptionPane.showMessageDialog(er2, "查询失败,无此id");break;}}}}public void Cselect(){JDialog Cs=new JDialog();Cs.setBounds(500, 500, 50, 100);Cs.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);String[] options={"id","姓名"};//int x =JOptionPane.showInputDialog(Cs,"请选择查询方式","ji", JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE, null, options, options[0]);int x = JOptionPane.showOptionDialog(Cs, "请选择查询方式", "Click a button", JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE, null, options, options[0]);switch (x){case 0:{Cid();break;}case 1:{Cname();break;}default:{break;}}}
public void correct(){JDialog er=new JDialog();JDialog er1=new JDialog();JDialog er3=new JDialog();er.setBounds(500, 500, 50, 100);er.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);er1.setBounds(500, 500, 50, 100);er1.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);String xiul= JOptionPane.showInputDialog(er,"请输入要修改的id");if(Objects.equals(xiul,"")){illegal();}else if(Objects.equals(xiul,null)){}else {Long xiu= Long.valueOf(xiul);for (int q = 0; q < text.id.length; q++) {if (Objects.equals(xiu, text.id[q])) {// String[] options={"id","姓名","密码","指纹效验码"};String[] options={"姓名","密码","指纹效验码"};int x = JOptionPane.showOptionDialog(er, "请选择要修改的内容", "修改", JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE, null, options, options[0]);switch (x){
//                case 0:{
//                    er1.setBounds(500, 500, 50, 100);
//                    er1.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
//                    er3.setBounds(500, 500, 50, 100);
//                    er3.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
//                    long xid= Long.parseLong(JOptionPane.showInputDialog(er1,"id修改"));
//                    text.id[q]= xid;
//                    JOptionPane.showMessageDialog(er3, "修改成功");
//                    break;
//
//                }case 0:{er1.setBounds(500, 500, 50, 100);er1.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);er3.setBounds(500, 500, 50, 100);er3.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);String xid=JOptionPane.showInputDialog(er1,"姓名");text.name[q]=xid;JOptionPane.showMessageDialog(er3, "修改成功");break;}case 1:{er1.setBounds(500, 500, 50, 100);er1.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);er3.setBounds(500, 500, 50, 100);er3.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);String xid=JOptionPane.showInputDialog(er1,"密码");text.password[q]=xid;JOptionPane.showMessageDialog(er3, "修改成功");break;}case 2:{er1.setBounds(500, 500, 50, 100);er1.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);er3.setBounds(500, 500, 50, 100);er3.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);int xid= Integer.parseInt(JOptionPane.showInputDialog(er1,"指纹验证码"));text.printfinger[q]=xid;JOptionPane.showMessageDialog(er3, "修改成功");break;}}break;} else if (Objects.equals(q, 199)){JOptionPane.showMessageDialog(er, "查询失败,无此id");break;}}}}
public void illegal(){JDialog er=new JDialog();er.setBounds(500, 500, 50, 100);er.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);JOptionPane.showMessageDialog(er,"非法,请重新操作","error",JOptionPane.INFORMATION_MESSAGE);
}
public void fix(){JDialog er=new JDialog();er.setBounds(500, 500, 50, 100);er.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);String bxl= JOptionPane.showInputDialog(er,"请输入要绑定的id");if(Objects.equals(bxl,"")){illegal();}else if(Objects.equals(bxl,null)){}else {Long bx= Long.valueOf(bxl);int p=0;for (int q = 0; q < text.id.length; q++) {if (Objects.equals(bx, text.id[q])) {p=q;}}if(Objects.equals(bx, text.id[p])){JDialog er1=new JDialog();er1.setBounds(500, 500, 50, 100);er1.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);int finger= Integer.parseInt(JOptionPane.showInputDialog(er,"请输入指纹效验码"));text.printfinger[p]=finger;JOptionPane.showMessageDialog(er1, "绑定成功");}else {JDialog er1 =new JDialog();er1.setBounds(500, 500, 50, 100);er1.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);JOptionPane.showMessageDialog(er1, "绑定失败无此id");}}
}public  void cx(){           //table 表格int e;for(e=0;e<id.length;e++){if(Objects.equals(null,id[e])){break;}}JPanel jf=new JPanel();JDialog er1=new JDialog();er1.setBounds(500, 500, 50, 100);er1.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);String[][] rowData=new String[e][4];System.out.println(e);for(int q=0;q<=e-1;q++) {rowData[q][0]= String.valueOf(text.id[q]);rowData[q][1]=text.password[q];rowData[q][2]=text.name[q];rowData[q][3]= String.valueOf(text.printfinger[q]);}String[] columName={"帐号","密码","姓名","指纹效验码"};JTable table =new JTable(rowData,columName);jf.add(table.getTableHeader(), BorderLayout.NORTH);jf.add(table, BorderLayout.NORTH);er1.add(jf);er1.setBounds(500, 500, 500, 300);er1.setVisible(true);er1.setResizable(false);}
public void openl(){JDialog op =new JDialog();op.setBounds(500, 500, 50, 100);op.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);open=1;JOptionPane.showMessageDialog(op, "门已开,5秒后关门");open=0;}
public void copen(){JDialog er=new JDialog();er.setBounds(500, 500, 50, 100);er.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);String[] options={"帐号密码开门","指纹开门"};int x = JOptionPane.showOptionDialog(er, "请选择开门的方式", "开门", JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE, null, options, options[0]);switch (x){case 0:{JDialog erl=new JDialog();erl.setBounds(500, 500, 50, 100);erl.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);String xu= JOptionPane.showInputDialog(erl,"请输入帐号");if(!Objects.equals(xu,"")) {Long xiu= Long.valueOf(xu);for (int i = 0; i < id.length; i++) {if (Objects.equals(xiu, id[i])) {String mi = JOptionPane.showInputDialog(erl, "请输入密码");if (Objects.equals(mi, password[i])) {JOptionPane.showMessageDialog(erl,"欢迎光临:"+text.name[i]);openl();break;} else {JOptionPane.showMessageDialog(erl, "密码错误");break;}} else {JOptionPane.showMessageDialog(erl, "帐号错误");break;}}}if(Objects.equals(xu,"")) {illegal();}if (Objects.equals(xu,null)){break;}break;}case 1:{JDialog erl=new JDialog();erl.setBounds(500, 500, 50, 100);erl.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);String fin= JOptionPane.showInputDialog(erl,"请输入指纹效验码");int finger= Integer.parseInt(fin);if(!Objects.equals(fin,"")){int a=0;for (int i=0;i<printfinger.length;i++) {if(Objects.equals(finger, printfinger[i])){a=i;}}if(Objects.equals(fin,String.valueOf(0))){JOptionPane.showMessageDialog(erl,"无效指纹");}else {if (Objects.equals(finger, printfinger[a])) {JOptionPane.showMessageDialog(erl, "欢迎光临:" + text.name[a]);openl();break;} else {JOptionPane.showMessageDialog(erl, "无效指纹");break;}}}if(Objects.equals(fin,"")) {illegal();}if (Objects.equals(fin,null)){break;}break;}}
}
public void momi(){JDialog erl=new JDialog();erl.setBounds(500, 500, 50, 100);erl.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);JOptionPane.showMessageDialog(erl,"叮叮铛叮叮铛");
}
}

门禁管理系统(Swing/Dos)相关推荐

  1. 智能卡门禁管理系统_综合门禁管理信息系统相关技术及未来准备

    综合门禁管理信息系统相关技术及未来准备 1)智能卡 基于我们对智能卡的认识,属于物联网的感应层,即实体所关联的感应媒介.从人的角度看,可能是卡(可能多张),也可能是密码.指纹.条码等:未来可能包括资产 ...

  2. 在系统二进制文件中检测到错误_门禁管理系统施工中常见的布线错误

    现在门禁系统已经深入到人们的生活中,门禁系统安装应用越来越广泛.但是门禁系统施工布线都需要注意哪些你了解吗?下面就门禁系统施工布线过程中的几大错误现象给大家提个醒. 一.用网络线布电锁锁到控制器的线! ...

  3. 基于JavaSSM和微信小程序的智能二维码门禁管理系统

    目录 1 引言 2 2 系统需求分析 2 2.1开发环境 2 2.2关键技术 2 2.2.1 Spring 框架 2 2.2.2 Spring MVC 框架 3 2.2.3 Mybatis 3 2.2 ...

  4. ESD门禁管理系统方案

    目录 一.系统概述... 2 1.1 前言... 2 1.2 系统设计总体要求... 2 1.3 系统设计原则... 3 1.4 设计依据... 3 1.5 系统特点... 5 二.ESD门禁管理系统 ...

  5. 高级货!Django实现基于人脸识别的门禁管理系统【源码】

    项目介绍 基于人脸识别的门禁管理系统 (Python+Django+RESTframework+JsonWebToken+Redis+Dlib) 该项目为宿舍门禁系统管理,并额外加入宿舍管理.水电费管 ...

  6. Python实现门禁管理系统(源码)

    项目介绍 基于人脸识别的门禁管理系统 (Python+Django+RESTframework+JsonWebToken+Redis+Dlib) 该项目为宿舍门禁系统管理,并额外加入宿舍管理.水电费管 ...

  7. Python+Django实现基于人脸识别的门禁管理系统,附带源码!!

    已下项目为实战开发经验,微信搜索关注公众号 [ python语言空间 ],获取更多项目源码及资源. 项目介绍 基于人脸识别的门禁管理系统(Python+Django+RESTframework+Jso ...

  8. 《幼儿园门禁管理系统可行性研究报告》

    <幼儿园门禁管理系统可行性研究报告> 目录 文章目录 <幼儿园门禁管理系统可行性研究报告> 目录 1引言 1.1编写目的 1.2背景 1.3定义 1.4参考资料 2可行性研究的 ...

  9. 安卓设备门禁识别开发_基于Android和RFID的门禁管理系统

    基于 Android 和 RFID 的门禁管理系统 秦斌斌 ; 何极 ; 赵萌 ; 秦丽丽 [期刊名称] <无线通信技术> [年 ( 卷 ), 期] 2018(027)004 [摘要] 本 ...

最新文章

  1. System.FormatException:“输入字符串的格式不正确。”
  2. Robocopy是微软Windows Server 2003资源工具包中众多多用途的实用程序之一(它是基于强大的拷贝程序...
  3. 如何确认mongodb数据插入是否成功_go连接mongodb
  4. python中的sys.argv是什么?(控制台参数传递、控制台传参)
  5. 洛谷 P2596 [ZJOI2006]书架 (splay)
  6. ORM的问题第2部分–查询
  7. mac下安装配置nginx环境
  8. 2101 Problem A Snake Filled
  9. redis搭建集群时报错CLUSTERDOWN Hash slot not served
  10. 夏普S2 android one,夏普S2内部做工怎么样?夏普AQUOS S2拆机评测图解
  11. Prisma note
  12. 天啦噜!原来Android补间动画可以这么玩
  13. 网络流-一江春水向东流
  14. VOC2007数据集制作
  15. AcWing 第69场周赛
  16. 2、bq Evaluation Software电流监测工具使用说明
  17. 初学者怎么学java编程
  18. java8的函数式接口的好处_浅谈Java 8 新增函数式接口到底是什么
  19. I.MX6UL 时钟略解
  20. 关于大神note3手机数据备份

热门文章

  1. 安卓和iOS的兼容性问题: 键盘弹起时,固定在底部的按钮是否被弹到键盘上方
  2. python足球联赛赛程_足球联赛赛程表工作表
  3. svn执行update操作后出现:Error : Previous operation has not finished; run 'cleanup' if it was interrupted.
  4. 这玩意儿叫H5编辑器??不应该叫H5全能王吗?
  5. teleop app android,使用yocs_cmd_vel_mux进行机器人速度控制切换
  6. 二元函数最大最小值定理证明_求函数最小最大值定理的证明
  7. 如何实现在线视频播放?
  8. 多宽带叠加的分布式云盘:文件秒传、断点续传、大文件下载
  9. RoundedCorners
  10. 破解版XMind图文安装教程