Java Swing 的简易图书管理系统(无数据库)

之前发现好多找我做管理系统,但不让用数据库,就了一个简易的管理系统,用来给大家分享一下

这是一个集选择性登录,查询,删除,修改,添加为一体的管理系统,不光可以是图书管理系统,自己还可以改成其它系统。

1,开始是选择登录,不同的选择进入不同的登陆界面

 

 

2, 两个登陆界面的账号和密码是不一样的

 

 

 3,登陆后,进入管理界面,进行添加,删除,修改,查询功能(以下图片按此顺序实现功能)(书名,出版社等信息均为虚拟,用于测试)

录入 :是通过获取JTextField后通过append添加到JTextArea

删除 :通过输入的编号删除,也可以新建一个删除框用于删除,但是为了整体布局我没建

修改:删除之前的信息,重新添加信息

查询 :通过输入的编号查询,也可以新建一个查询框用于查询,但是为了整体布局我没建

4,下面是主要代码段,共读者详细了解功能实现原理

public class YunYongClass {

    ArrayList<XinXiClass> LieBiao=new ArrayList<>();

    public void add(){
        JFrame jframe1=new JFrame("登陆界面");
        jframe1.setSize(900, 400);//设置好宽高
        jframe1.setLocationRelativeTo(null);//窗体居中显示


        JTextField jTextField1=new JTextField(10);
        JTextField jTextField2=new JTextField(10);
        JTextField jTextField3=new JTextField(10);
        JTextField jTextField4=new JTextField(10);
        JTextField jTextField5=new JTextField(10);
        JTextField jTextField6=new JTextField(10);

        JLabel jLabel1=new JLabel("编号:");
        JLabel jLabel2=new JLabel("书名:");
        JLabel jLabel3=new JLabel("出版社:");
        JLabel jLabel4=new JLabel("类别:");
        JLabel jLabel5=new JLabel("作者:");
        JLabel jLabel6=new JLabel("价格:");

        JTextArea jta=new JTextArea(10,20);//行与列
        jta.setLineWrap(true);    //设置文本域中的文本为自动换行
        jta.setFont(new Font("黑体",Font.BOLD,17));//设置文本域内的字体

        JPanel jPanel=new JPanel();

        JButton jButton1=new JButton("录入");
        JButton jButton2=new JButton("删除");
        JButton jButton3=new JButton("修改");
        JButton jButton4=new JButton("查询");


        Box box1=Box.createHorizontalBox();
        Box box2=Box.createHorizontalBox();
        Box box3=Box.createVerticalBox();
        box1.add(jLabel1);
        box1.add(jTextField1);
        box1.add(jLabel2);
        box1.add(jTextField2);
        box1.add(jLabel3);
        box1.add(jTextField3);
        box1.add(jLabel4);
        box1.add(jTextField4);
        box1.add(jLabel5);
        box1.add(jTextField5);
        box1.add(jLabel6);
        box1.add(jTextField6);
        box3.add(box1);
        box3.add(Box.createVerticalStrut(30));
        box2.add(jButton1);
        box2.add(jButton2);
        box2.add(jButton3);
        box2.add(jButton4);
        box3.add(box2);
        box3.add(Box.createVerticalStrut(30));
        box3.add(jta);

        jPanel.add(box3);

        jframe1.add(jPanel);
//      jframe1.setResizable(false);//设置窗口不可以放大
        jframe1.setVisible(true);//设置窗口可见,必须放在最后面


//录入
        jButton1.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                String  jt1=jTextField1.getText();
                String  jt2=jTextField2.getText();
                String  jt3=jTextField3.getText();
                String  jt4=jTextField4.getText();
                String  jt5=jTextField5.getText();
                String  jt6=jTextField6.getText();

                XinXiClass xinxiclass=new XinXiClass();
                xinxiclass.setBookId(jt1);
                xinxiclass.setBookName(jt2);
                xinxiclass.setPress(jt3);
                xinxiclass.setCategory(jt4);
                xinxiclass.setAuthor(jt5);
                xinxiclass.setPrice(jt6);
                LieBiao.add(xinxiclass);
                jta.setText("");//清空文本框,使每次文本框的输出都是新的一次列表
                for (XinXiClass S : LieBiao) {
                    jta.append("编号:"+S.getBookId()+"   "+"书名:"+S.getBookName()+"   "+"出版社:"+S.getPress()+"   "+"类型:"+ S.getCategory()+"   "+"作者:"+S.getAuthor()+"   "+"价格:"+S.getPrice()+"\n");
                }



                jTextField1.setText("");
                jTextField2.setText("");
                jTextField3.setText("");
                jTextField4.setText("");
                jTextField5.setText("");
                jTextField6.setText("");

            }
        });

//删除
        jButton2.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {

                String  jt1=jTextField1.getText();


                for(int i=0;i<LieBiao.size();i++) {

                    if(LieBiao.get(i).getBookId().equals(jt1)) {//用来  获取列表里的对象ID  然后判断是否与编号相等
                        LieBiao.remove(i);//remove找到相对应的i值直接删除
                    }
                    jta.setText("");//清空文本框,使每次文本框的输出都是新的一次列表
                    for (XinXiClass S : LieBiao) {
                        jta.append("编号:"+S.getBookId()+"   "+"书名:"+S.getBookName()+"   "+"出版社:"+S.getPress()+"   "+"类型:"+ S.getCategory()+"   "+"作者:"+S.getAuthor()+"   "+"价格:"+S.getPrice()+"\n");
                    }
                    jTextField1.setText("");
                }

            }
        });


//修改
        jButton3.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {

                jta.setText("");//清空文本框,使每次文本框的输出都是新的一次列表

                String  jt1=jTextField1.getText();
                String  jt2=jTextField2.getText();
                String  jt3=jTextField3.getText();
                String  jt4=jTextField4.getText();
                String  jt5=jTextField5.getText();
                String  jt6=jTextField6.getText();

                for(int i=0;i<LieBiao.size();i++) {

                    if(LieBiao.get(i).getBookId().equals(jt1)) {//用来  获取列表里的对象ID  然后判断是否与学号相等
                        LieBiao.remove(i);//remove找到相对应的i值直接删除
                        System.out.println("请重新输入该学生信息:");

                        XinXiClass xinXiClass = new XinXiClass();

                        xinXiClass.setBookId(jt1);
                        xinXiClass.setBookName(jt2);
                        xinXiClass.setPress(jt3);
                        xinXiClass.setCategory(jt4);
                        xinXiClass.setAuthor(jt5);
                        xinXiClass.setPrice(jt6);
                        LieBiao.add(xinXiClass);
                    }
                }
                for (XinXiClass S : LieBiao) {
                    jta.append("编号:"+S.getBookId()+"   "+"书名:"+S.getBookName()+"   "+"出版社:"+S.getPress()+"   "+"类型:"+ S.getCategory()+"   "+"作者:"+S.getAuthor()+"   "+"价格:"+S.getPrice()+"\n");
                }
                jTextField1.setText("");
                jTextField2.setText("");
                jTextField3.setText("");
                jTextField4.setText("");
                jTextField5.setText("");
                jTextField6.setText("");
            }

        });
//查询
        jButton4.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {

                String  jt1=jTextField1.getText();

                for(int i=0;i<LieBiao.size();i++) {

                    if(LieBiao.get(i).getBookId().equals(jt1)) {//用来  获取列表里的对象ID  然后判断是否相等
                        jta.setText(String.valueOf(LieBiao.get(i)));
                    }
                }
            }
        });
    }
}

5,文件如同所示:

 6,有需要完成代码的,或者有疑问的,更或者有更好的改进办法的,欢迎私信我来交流!

 

评论 58
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值