⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmain.java

📁 用java编写的实现图书管理系统系统的功能
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package mybook.book;

import java.awt.*;

import javax.swing.*;
import java.awt.Rectangle;
import javax.swing.BorderFactory;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseAdapter;
import java.awt.BorderLayout;
import java.util.Calendar;
import java.io.IOException;
import mydbc.dbc.DBC;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2008</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
//该类为本程序主界面
public class FrMain extends JFrame {
    ImageIcon borrow = new ImageIcon("img/borrow.jpg");
    ImageIcon breturn = new ImageIcon("img/return.jpg");
    ImageIcon usermanage = new ImageIcon("img/usermanage.jpg");
    ImageIcon bookmanage = new ImageIcon("img/bookmanage.jpg");
    ImageIcon about = new ImageIcon("img/about.jpg");
    ImageIcon bexit = new ImageIcon("img/exit.jpg");
    ImageIcon back = new ImageIcon("img/bookbg.jpg");
    public FrMain() {
        try {
            jbInit();
        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }

    private void jbInit() throws Exception {
        getContentPane().setLayout(null);
        this.setJMenuBar(jMenuBar1);
        setSize(new Dimension(700, 600));
        this.setTitle("图书管理系统");
        menuSysManage.setText("【系统管理】");
        miExit.setText("退出");
        miExit.addActionListener(new FrMain_miExit_actionAdapter(this));
        menuBasic.setText("【基本操作】");
        miAddReader.setText("添加新读者");
        miAddReader.addActionListener(new FrMain_miAddReader_actionAdapter(this));
        miAddBook.setText("新书入库");
        miAddBook.addActionListener(new FrMain_miAddBook_actionAdapter(this));
        miBorrowBook.setText("借书");
        miBorrowBook.addActionListener(new FrMain_miBorrowBook_actionAdapter(this));
        miReturnBook.setActionCommand("还书");
        miReturnBook.setText("还书");
        miReturnBook.addActionListener(new FrMain_miReturnBook_actionAdapter(this));
        miGoon.setText("续借");
        miGoon.addActionListener(new FrMain_miGoon_actionAdapter(this));
        miReaderManage.setText("读者管理");
        miReaderManage.addActionListener(new
                                         FrMain_miReaderManage_actionAdapter(this));
        miBookManage.setText("图书管理");
        miBookManage.addActionListener(new FrMain_miBookManage_actionAdapter(this));
        menuHelp.setText("【帮助】");
        miAbout.setText("关于");
        miAbout.addActionListener(new FrMain_miAbout_actionAdapter(this));
        palMenu.setBorder(BorderFactory.createRaisedBevelBorder());
        palMenu.setBounds(new Rectangle( -1, 0, 700, 78));
        palMenu.setLayout(null);
        btnBorrow.setBounds(new Rectangle(5, 3, 75, 70));
        btnBorrow.setIcon(borrow);
        btnBorrow.addActionListener(new FrMain_btnBorrow_actionAdapter(this));
        btnReturn.setBounds(new Rectangle(83, 3, 75, 70));
        btnReturn.setIcon(breturn);
        btnReturn.addActionListener(new FrMain_btnReturn_actionAdapter(this));
        btnBookManage.setBounds(new Rectangle(160, 3, 75, 70));
        btnBookManage.setIcon(bookmanage);
        btnBookManage.addActionListener(new FrMain_btnBookManage_actionAdapter(this));
        btnUserManage.setBounds(new Rectangle(238, 3, 75, 70));
        btnUserManage.setIcon(usermanage);
        btnUserManage.addActionListener(new FrMain_btnUserManage_actionAdapter(this));
        btnAbout.setBounds(new Rectangle(315, 3, 75, 70));
        btnAbout.setIcon(about);
        btnAbout.addActionListener(new FrMain_btnAbout_actionAdapter(this));
        btnExit.setBounds(new Rectangle(393, 3, 75, 70));
        btnExit.setIcon(bexit);
        btnExit.addActionListener(new FrMain_btnExit_actionAdapter(this));
        palState.setBorder(BorderFactory.createRaisedBevelBorder());
        palState.setBounds(new Rectangle(0, 507, 700, 38));
        palState.setLayout(null);
        lblSysName.setBorder(BorderFactory.createLoweredBevelBorder());
        lblSysName.setText("图书管理系统");
        lblSysName.setBounds(new Rectangle(3, 3, 78, 31));
        lblShow.setBorder(BorderFactory.createLoweredBevelBorder());
        lblShow.setText("技术支持:9920317");
        lblShow.setBounds(new Rectangle(86, 3, 120, 31));
        miChangePwd.setText("修改密码");
        miChangePwd.addActionListener(new FrMain_miChangePwd_actionAdapter(this));
        miAddManager.setText("添加/删除管理员");
        miAddManager.addActionListener(new FrMain_miAddManager_actionAdapter(this));
        lblMainbg.setIcon(back);
        lblMainbg.setBounds(new Rectangle(0, 77, 699, 431));
        lblNowtime.setBorder(BorderFactory.createLoweredBevelBorder());
        lblNowtime.setBounds(new Rectangle(514, 3, 179, 31));
        lblTime.setText("当前时间:");
        lblTime.setBounds(new Rectangle(441, 3, 63, 31));
        menuTools.setToolTipText("");
        menuTools.setText("【小工具】");
        miNotepad.setText("记事本");
        miNotepad.addActionListener(new FrMain_miNotepad_actionAdapter(this));
        miCalc.setText("计算器");
        miCalc.addActionListener(new FrMain_miCalc_actionAdapter(this));
        lblWarnnig.setText("欢迎访问尼克技术博客:www.ineek.cn");
        lblWarnnig.setBounds(new Rectangle(214, 3, 222, 31));
        jMenuBar1.add(menuSysManage);
        jMenuBar1.add(menuBasic);
        jMenuBar1.add(menuTools);
        jMenuBar1.add(menuHelp);
        menuSysManage.add(miAddManager);
        menuSysManage.add(miChangePwd);
        menuSysManage.addSeparator();
        menuSysManage.add(miExit);
        menuBasic.add(miAddReader);
        menuBasic.add(miAddBook);
        menuBasic.addSeparator();
        menuBasic.add(miBorrowBook);
        menuBasic.add(miReturnBook);
        menuBasic.add(miGoon);
        menuBasic.addSeparator();
        menuBasic.add(miReaderManage);
        menuBasic.add(miBookManage);
        menuHelp.add(miAbout);
        this.getContentPane().add(palMenu);
        palMenu.add(btnBorrow);
        palMenu.add(btnReturn);
        palMenu.add(btnBookManage);
        palMenu.add(btnUserManage);
        palMenu.add(btnAbout);
        palMenu.add(btnExit);
        this.getContentPane().add(palState);
        this.getContentPane().add(lblMainbg);
        palState.add(lblSysName);
        palState.add(lblShow);
        palState.add(lblNowtime);
        palState.add(lblTime);
        palState.add(lblWarnnig);
        menuTools.add(miNotepad);
        menuTools.add(miCalc);
        Time time = new Time();
        timOut tout = new timOut();
        time.start();
        tout.start();
    }

    JMenuBar jMenuBar1 = new JMenuBar();
    JMenu menuSysManage = new JMenu();
    JMenuItem miExit = new JMenuItem();
    JMenu menuBasic = new JMenu();
    JMenuItem miAddReader = new JMenuItem();
    JMenuItem miAddBook = new JMenuItem();
    JMenuItem miBorrowBook = new JMenuItem();
    JMenuItem miReturnBook = new JMenuItem();
    JMenuItem miGoon = new JMenuItem();
    JMenuItem miReaderManage = new JMenuItem();
    JMenuItem miBookManage = new JMenuItem();
    JMenu menuHelp = new JMenu();
    JMenuItem miAbout = new JMenuItem();
    JPanel palMenu = new JPanel();
    JButton btnBorrow = new JButton();
    JButton btnReturn = new JButton();
    JButton btnBookManage = new JButton();
    JButton btnUserManage = new JButton();
    JButton btnAbout = new JButton();
    JButton btnExit = new JButton();
    JPanel palState = new JPanel();
    JLabel lblSysName = new JLabel();
    JLabel lblShow = new JLabel();
    JMenuItem miChangePwd = new JMenuItem();
    JMenuItem miAddManager = new JMenuItem();
    JLabel lblMainbg = new JLabel();
    JLabel lblNowtime = new JLabel();
    JLabel lblTime = new JLabel();
    JMenu menuTools = new JMenu();
    JMenuItem miNotepad = new JMenuItem();
    JMenuItem miCalc = new JMenuItem();
    JLabel lblWarnnig = new JLabel();
    //该方法用于退出程序
    public void btnExit_actionPerformed(ActionEvent e) {
        System.exit(0);
    }

    //该方法用于被调用并初始化一个新Frame
    public void NewFram(Frame x) {
        Dimension screenSize = Toolkit.getDefaultToolkit().
                               getScreenSize();
        Dimension frameSize = x.getSize();
        if (frameSize.height > screenSize.height) {
            frameSize.height = screenSize.height;
        }
        if (frameSize.width > screenSize.width) {
            frameSize.width = screenSize.width;
        }
        x.setLocation((screenSize.width - frameSize.width) / 2,
                      (screenSize.height - frameSize.height) / 2);
        x.setVisible(true);

    }

    class timOut extends Thread {

        public void run() {
            DBC dbc = DBC.getInstance();
            ResultSet rs;
            int bid = 0;
            int uid = 0;
            int balance = 0;
            int time = 1;

            while (true) {
                rs = dbc.executeQuery(
                        "SELECT balance=datediff(S,Obotime,getdate()),Ouid,ObRenttime FROM Outbooks");

                try {
                    while (rs.next()) {
                        //获取读者ID和当前时间和借书时时间差
                        uid = rs.getInt("balance");
                        balance = rs.getInt("Ouid");
                        //获取借书期限
                        time = rs.getInt("ObRenttime");
                        //若时间差大于期限则锁定该读者
                        if (balance >= time) {
                            dbc.executeUpdate(
                                    "UPDATE Users SET Ustate = '是' WHERE Uid = " +
                                    uid);
                        }


                    }
                    rs.close();
                    //每30分钟执行一次
                    Thread.sleep(1000 * 60 * 30);
                } catch (InterruptedException ex) {
                    javax.swing.JOptionPane.showMessageDialog(null,
                            ex.getMessage().toString());
                } catch (SQLException ex) {
                    javax.swing.JOptionPane.showMessageDialog(null,
                            ex.getMessage().toString());
                }

            }

        }
    }


    class Time extends Thread {

        public void run() {
            //以下用于同步显示时间
            Calendar cal;

            while (true) {
                try {
                    cal = Calendar.getInstance();
                    String now = cal.get(Calendar.YEAR) + "年" +
                                 (cal.get(Calendar.MONTH) + 1) +
                                 "月" + cal.get(Calendar.DATE) + "日 " +
                                 cal.get(Calendar.HOUR) +
                                 "时" + cal.get(Calendar.MINUTE) + "分" +
                                 cal.get(Calendar.SECOND) +
                                 "秒";

                    lblNowtime.setText(now);

                    //每一秒钟循环一次
                    Thread.sleep(1000);
                } catch (InterruptedException ex) {
                    System.out.println(ex.getMessage());
                }
            }
        }
    }


    public void btnAbout_actionPerformed(ActionEvent e) {
        FrAbout about = new FrAbout();
        NewFram(about);

    }

    public void miAbout_actionPerformed(ActionEvent e) {
        FrAbout about = new FrAbout();
        NewFram(about);

    }

    public void miAddManager_actionPerformed(ActionEvent e) {
        FrAddmanager addmanager = new FrAddmanager();
        NewFram(addmanager);
    }

    public void miChangePwd_actionPerformed(ActionEvent e) {
        FrChange change = new FrChange();
        NewFram(change);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -