private void initComponents() {
        // JFormDesigner - Component initialization - DO NOT MODIFY  //GEN-BEGIN:initComponents
        // Generated using JFormDesigner Evaluation license - David Park
        bannerPanel = new JPanel();
        logOutbutton = new JButton();
        bannerLabel = new JLabel();
        label2 = new JLabel();
        label3 = new JLabel();
        mainPanel = new JTabbedPane();
        userTapPanel = new JPanel();
        searchUserPanel = new JPanel();
        searchUserLabel1 = new JLabel();
        searchUserTextField1 = new JTextField();
        searchUserButton1 = new JButton();
        searchUserLabel2 = new JLabel();
        searchUserTextField2 = new JTextField();
        searchUserButton2 = new JButton();
        userEntryPanel = new JPanel();
        userEntryfName = new JLabel();
        userEntryfNameText = new JTextField();
        userEntrylname = new JLabel();
        userEntrylNameText = new JTextField();
        userEntryPwd = new JLabel();
        passwordField1 = new JPasswordField();
        userEntryPhone = new JLabel();
        userEntryPhoneText = new JTextField();
        userEntryEmai = new JLabel();
        userEntryEmailText = new JTextField();
        userEntryAdress = new JLabel();
        userEntryAdressText = new JTextField();
        userEntryUserType = new JLabel();
        userEntryUserTypeCom = new JComboBox();
        navigationUserPanel = new JPanel();
        previousUserButton = new JButton();
        currentUserIndex = new JTextField();
        ofLabelUser = new JLabel();
        maxIndexUser = new JTextField();
        nextUserbutton = new JButton();
        modifyUserButton = new JButton();
        deleteUserButton = new JButton();
        addUserButton = new JButton();
        bookTapPane = new JPanel();
        searchBookPanel = new JPanel();
        searchTitle = new JLabel();
        searchTitleField = new JTextField();
        searchTitleButton = new JButton();
        searchAuthor = new JLabel();
        searchAuthorField = new JTextField();
        searchAuthorButton = new JButton();
        bookEntryPanel = new JPanel();
        bookEntryTitle = new JLabel();
        bookEntryTitleText = new JTextField();
        bookEntryAuthoer = new JLabel();
        bookEntryAuthorText = new JTextField();
        bookEntryISBN = new JLabel();
        bookEntryISBNText = new JTextField();
        bookEntryPublic = new JLabel();
        bookEntryPublicText = new JTextField();
        bookEntryGenre = new JLabel();
        bookEntryGenreCom = new JComboBox();
        bookEntrySubject = new JLabel();
        bookEntrySubjectCom = new JComboBox();
        bookEntryPdate = new JLabel();
        bookEntryPdateText = new JTextField();
        bookEntryShopname = new JLabel();
        bookEntryShopnameText = new JTextField();
        bookEntryPrice = new JLabel();
        bookEntryPriceText = new JTextField();
        bookEntryDetail = new JLabel();
        bookEntryDetailText = new JTextField();
        bookEntryStatus = new JLabel();
        bookEntryStatusCom = new JComboBox();
        navigationBookPane = new JPanel();
        previousBookButton = new JButton();
        currentBookIndex = new JTextField();
        bookOflabel = new JLabel();
        maxIndexBook = new JTextField();
        nextBookButton = new JButton();
        addBookButton = new JButton();
        modifyBookButton = new JButton();
        deleteBookButton = new JButton();
        rePortPanel = new JPanel();
        reportPanel = new JPanel();
        bookLendingLabel = new JLabel();
        fineReportLabel = new JLabel();
        lendingCombo = new JComboBox();
        findCombo = new JComboBox();
        generateLendingButton = new JButton();
        generateFineButton = new JButton();
        bookPurchasedLabel = new JLabel();
        bookPurchasedCom = new JComboBox();
        generatePurchaseButton = new JButton();

        //======== this ========
        addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosed(WindowEvent e) {
                thisWindowClosed(e);
            }
        });
        Container contentPane = getContentPane();
        contentPane.setLayout(null);

        //======== bannerPanel ========
        {
            bannerPanel.setBorder(new EmptyBorder(12, 12, 12, 12));


            bannerPanel.setLayout(null);

            //---- logOutbutton ----
            logOutbutton.setText("LogOut");
            logOutbutton.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    try
                    {
                        logOutbuttonActionPerformed(e);
                    } catch (SQLException e1)
                    {
                        e1.printStackTrace();
                    }
                }
            });
            logOutbutton.addAncestorListener(new AncestorListener() {
                @Override
                public void ancestorAdded(AncestorEvent e) {
                    logOutbuttonAncestorAdded(e);
                }
                @Override
                public void ancestorMoved(AncestorEvent e) {}
                @Override
                public void ancestorRemoved(AncestorEvent e) {}
            });
            bannerPanel.add(logOutbutton);
            logOutbutton.setBounds(new Rectangle(new Point(180, 40), logOutbutton.getPreferredSize()));

            //---- bannerLabel ----
            bannerLabel.setText("Welcome to Maero Library Management System!");
            bannerLabel.setFont(new Font("Lucida Grande", Font.ITALIC, 20));
            bannerPanel.add(bannerLabel);
            bannerLabel.setBounds(300, 5, 475, 65);

            //---- label2 ----
            label2.setText("text");
            bannerPanel.add(label2);
            label2.setBounds(10, 10, 200, 30);

            //---- label3 ----
            label3.setText("text");
            bannerPanel.add(label3);
            label3.setBounds(10, 45, 200, 25);

            { // compute preferred size
                Dimension preferredSize = new Dimension();
                for(int i = 0; i < bannerPanel.getComponentCount(); i++) {
                    Rectangle bounds = bannerPanel.getComponent(i).getBounds();
                    preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
                    preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
                }
                Insets insets = bannerPanel.getInsets();
                preferredSize.width += insets.right;
                preferredSize.height += insets.bottom;
                bannerPanel.setMinimumSize(preferredSize);
                bannerPanel.setPreferredSize(preferredSize);
            }
        }
        contentPane.add(bannerPanel);
        bannerPanel.setBounds(65, 10, 785, 75);

        //======== mainPanel ========
        {

            //======== userTapPanel ========
            {
                userTapPanel.setLayout(null);

                //======== searchUserPanel ========
                {
                    searchUserPanel.setBorder(new TitledBorder("Search User by Keyword"));
                    searchUserPanel.setLayout(new GridLayout(2, 3, 1, 3));

                    //---- searchUserLabel1 ----
                    searchUserLabel1.setText("LastName");
                    searchUserLabel1.setHorizontalAlignment(SwingConstants.CENTER);
                    searchUserPanel.add(searchUserLabel1);

                    //---- searchUserTextField1 ----
                    searchUserTextField1.setHorizontalAlignment(SwingConstants.LEFT);
                    searchUserPanel.add(searchUserTextField1);

                    //---- searchUserButton1 ----
                    searchUserButton1.setText("Search");
                    searchUserButton1.addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
                            searchUserButton1ActionPerformed(e);
                        }
                    });
                    searchUserPanel.add(searchUserButton1);

                    //---- searchUserLabel2 ----
                    searchUserLabel2.setText("Email");
                    searchUserLabel2.setHorizontalAlignment(SwingConstants.CENTER);
                    searchUserPanel.add(searchUserLabel2);

                    //---- searchUserTextField2 ----
                    searchUserTextField2.setHorizontalAlignment(SwingConstants.LEFT);
                    searchUserPanel.add(searchUserTextField2);

                    //---- searchUserButton2 ----
                    searchUserButton2.setText("Search");
                    searchUserButton2.addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
                            searchUserButton2ActionPerformed(e);
                        }
                    });
                    searchUserPanel.add(searchUserButton2);
                }
                userTapPanel.add(searchUserPanel);
                searchUserPanel.setBounds(30, 15, 780, 130);

                //======== userEntryPanel ========
                {
                    userEntryPanel.setBorder(new TitledBorder("Entry"));
                    userEntryPanel.setLayout(new GridLayout(7, 4));

                    //---- userEntryfName ----
                    userEntryfName.setText("FirstName");
                    userEntryfName.setHorizontalAlignment(SwingConstants.CENTER);
                    userEntryPanel.add(userEntryfName);
                    userEntryPanel.add(userEntryfNameText);

                    //---- userEntrylname ----
                    userEntrylname.setText("LasrName");
                    userEntrylname.setHorizontalAlignment(SwingConstants.CENTER);
                    userEntryPanel.add(userEntrylname);
                    userEntryPanel.add(userEntrylNameText);

                    //---- userEntryPwd ----
                    userEntryPwd.setText("Password");
                    userEntryPwd.setHorizontalAlignment(SwingConstants.CENTER);
                    userEntryPanel.add(userEntryPwd);
                    userEntryPanel.add(passwordField1);

                    //---- userEntryPhone ----
                    userEntryPhone.setText("PhoneNumber");
                    userEntryPhone.setHorizontalAlignment(SwingConstants.CENTER);
                    userEntryPanel.add(userEntryPhone);
                    userEntryPanel.add(userEntryPhoneText);

                    //---- userEntryEmai ----
                    userEntryEmai.setText("Email");
                    userEntryEmai.setHorizontalAlignment(SwingConstants.CENTER);
                    userEntryPanel.add(userEntryEmai);
                    userEntryPanel.add(userEntryEmailText);

                    //---- userEntryAdress ----
                    userEntryAdress.setText("Adress");
                    userEntryAdress.setHorizontalAlignment(SwingConstants.CENTER);
                    userEntryPanel.add(userEntryAdress);
                    userEntryPanel.add(userEntryAdressText);

                    //---- userEntryUserType ----
                    userEntryUserType.setText("User Type");
                    userEntryUserType.setHorizontalAlignment(SwingConstants.CENTER);
                    userEntryPanel.add(userEntryUserType);

                    //---- userEntryUserTypeCom ----
                    userEntryUserTypeCom.setModel(new DefaultComboBoxModel(new String[] {
                        "Admin",
                        "Reception",
                        "Customer"
                    }));
                    userEntryPanel.add(userEntryUserTypeCom);
                }
                userTapPanel.add(userEntryPanel);
                userEntryPanel.setBounds(30, 160, 785, 265);

                //======== navigationUserPanel ========
                {
                    navigationUserPanel.setPreferredSize(new Dimension(300, 42));
                    navigationUserPanel.setMinimumSize(new Dimension(300, 42));
                    navigationUserPanel.setLayout(null);

                    //---- previousUserButton ----
                    previousUserButton.setText("Previous");
                    previousUserButton.setEnabled(false);
                    previousUserButton.addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
                            previousUserButtonActionPerformed(e);
                        }
                    });
                    navigationUserPanel.add(previousUserButton);
                    previousUserButton.setBounds(60, 5, 90, 35);

                    //---- currentUserIndex ----
                    currentUserIndex.setHorizontalAlignment(SwingConstants.CENTER);
                    currentUserIndex.setColumns(1);
                    currentUserIndex.setPreferredSize(new Dimension(35, 32));
                    currentUserIndex.setMinimumSize(new Dimension(35, 32));
                    currentUserIndex.setMaximumSize(new Dimension(35, 32));
                    currentUserIndex.addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
                            currentUserIndexActionPerformed(e);
                        }
                    });
                    navigationUserPanel.add(currentUserIndex);
                    currentUserIndex.setBounds(160, 10, 42, 26);

                    //---- ofLabelUser ----
                    ofLabelUser.setText("of");
                    ofLabelUser.setMaximumSize(new Dimension(16, 16));
                    navigationUserPanel.add(ofLabelUser);
                    ofLabelUser.setBounds(210, 10, 23, 27);

                    //---- maxIndexUser ----
                    maxIndexUser.setEnabled(false);
                    maxIndexUser.setEditable(false);
                    maxIndexUser.setHorizontalAlignment(SwingConstants.CENTER);
                    maxIndexUser.setColumns(1);
                    maxIndexUser.setMaximumSize(new Dimension(35, 32));
                    maxIndexUser.setMinimumSize(new Dimension(35, 32));
                    maxIndexUser.setPreferredSize(new Dimension(35, 32));
                    navigationUserPanel.add(maxIndexUser);
                    maxIndexUser.setBounds(235, 10, 45, 25);

                    //---- nextUserbutton ----
                    nextUserbutton.setText("Next");
                    nextUserbutton.setEnabled(false);
                    nextUserbutton.setMaximumSize(new Dimension(83, 32));
                    nextUserbutton.setMinimumSize(new Dimension(83, 32));
                    nextUserbutton.setPreferredSize(new Dimension(83, 32));
                    nextUserbutton.addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
                            nextUserbuttonActionPerformed(e);
                        }
                    });
                    navigationUserPanel.add(nextUserbutton);
                    nextUserbutton.setBounds(285, 5, 90, 35);

                    { // compute preferred size
                        Dimension preferredSize = new Dimension();
                        for(int i = 0; i < navigationUserPanel.getComponentCount(); i++) {
                            Rectangle bounds = navigationUserPanel.getComponent(i).getBounds();
                            preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
                            preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
                        }
                        Insets insets = navigationUserPanel.getInsets();
                        preferredSize.width += insets.right;
                        preferredSize.height += insets.bottom;
                        navigationUserPanel.setMinimumSize(preferredSize);
                        navigationUserPanel.setPreferredSize(preferredSize);
                    }
                }
                userTapPanel.add(navigationUserPanel);
                navigationUserPanel.setBounds(205, 425, 415, 50);

                //---- modifyUserButton ----
                modifyUserButton.setText("Modify User");
                modifyUserButton.addActionListener(new ActionListener() {
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        modifyUserButtonActionPerformed(e);
                    }
                });
                userTapPanel.add(modifyUserButton);
                modifyUserButton.setBounds(355, 475, 140, 30);

                //---- deleteUserButton ----
                deleteUserButton.setText("Delete User");
                deleteUserButton.addActionListener(new ActionListener() {
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        deleteUserButtonActionPerformed(e);
                    }
                });
                userTapPanel.add(deleteUserButton);
                deleteUserButton.setBounds(560, 475, 140, 30);

                //---- addUserButton ----
                addUserButton.setText("Add User");
                addUserButton.addActionListener(new ActionListener() {
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        addUserButtonActionPerformed(e);
                    }
                });
                userTapPanel.add(addUserButton);
                addUserButton.setBounds(130, 475, 140, 30);
            }
            mainPanel.addTab("User Management", userTapPanel);

            //======== bookTapPane ========
            {
                bookTapPane.setLayout(null);

                //======== searchBookPanel ========
                {
                    searchBookPanel.setBorder(new CompoundBorder(
                        new TitledBorder("Search Book by Keyword"),
                        Borders.DLU2));
                    searchBookPanel.setLayout(new GridLayout(2, 3));

                    //---- searchTitle ----
                    searchTitle.setText("Title");
                    searchTitle.setHorizontalAlignment(SwingConstants.CENTER);
                    searchBookPanel.add(searchTitle);

                    //---- searchTitleField ----
                    searchTitleField.setMaximumSize(new Dimension(120, 50));
                    searchBookPanel.add(searchTitleField);

                    //---- searchTitleButton ----
                    searchTitleButton.setText("Search");
                    searchTitleButton.addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
                            searchTitleButtonActionPerformed(e);
                        }
                    });
                    searchBookPanel.add(searchTitleButton);

                    //---- searchAuthor ----
                    searchAuthor.setText("Author");
                    searchAuthor.setHorizontalAlignment(SwingConstants.CENTER);
                    searchBookPanel.add(searchAuthor);
                    searchBookPanel.add(searchAuthorField);

                    //---- searchAuthorButton ----
                    searchAuthorButton.setText("Search");
                    searchAuthorButton.addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
                            searchAuthorButtonActionPerformed(e);
                        }
                    });
                    searchBookPanel.add(searchAuthorButton);
                }
                bookTapPane.add(searchBookPanel);
                searchBookPanel.setBounds(40, 15, 765, 140);

                //======== bookEntryPanel ========
                {
                    bookEntryPanel.setBorder(new CompoundBorder(
                        new TitledBorder("Entry"),
                        Borders.DLU2));
                    bookEntryPanel.setLayout(null);

                    //---- bookEntryTitle ----
                    bookEntryTitle.setText("Title");
                    bookEntryTitle.setHorizontalAlignment(SwingConstants.CENTER);
                    bookEntryPanel.add(bookEntryTitle);
                    bookEntryTitle.setBounds(10, 25, 130, 36);
                    bookEntryPanel.add(bookEntryTitleText);
                    bookEntryTitleText.setBounds(140, 25, 265, 36);

                    //---- bookEntryAuthoer ----
                    bookEntryAuthoer.setText("Author");
                    bookEntryAuthoer.setHorizontalAlignment(SwingConstants.CENTER);
                    bookEntryPanel.add(bookEntryAuthoer);
                    bookEntryAuthoer.setBounds(410, 25, 110, 36);
                    bookEntryPanel.add(bookEntryAuthorText);
                    bookEntryAuthorText.setBounds(525, 25, 235, 36);

                    //---- bookEntryISBN ----
                    bookEntryISBN.setText("ISBN");
                    bookEntryISBN.setHorizontalAlignment(SwingConstants.CENTER);
                    bookEntryPanel.add(bookEntryISBN);
                    bookEntryISBN.setBounds(10, 64, 130, 36);
                    bookEntryPanel.add(bookEntryISBNText);
                    bookEntryISBNText.setBounds(140, 64, 265, 36);

                    //---- bookEntryPublic ----
                    bookEntryPublic.setText("Publication");
                    bookEntryPublic.setHorizontalAlignment(SwingConstants.CENTER);
                    bookEntryPanel.add(bookEntryPublic);
                    bookEntryPublic.setBounds(410, 64, 110, 36);
                    bookEntryPanel.add(bookEntryPublicText);
                    bookEntryPublicText.setBounds(525, 64, 235, 36);

                    //---- bookEntryGenre ----
                    bookEntryGenre.setText("Genre");
                    bookEntryGenre.setHorizontalAlignment(SwingConstants.CENTER);
                    bookEntryPanel.add(bookEntryGenre);
                    bookEntryGenre.setBounds(10, 103, 130, 36);

                    //---- bookEntryGenreCom ----
                    bookEntryGenreCom.setModel(new DefaultComboBoxModel(new String[] {
                        "Fiction",
                        "Non-Fiction"
                    }));
                    bookEntryPanel.add(bookEntryGenreCom);
                    bookEntryGenreCom.setBounds(140, 103, 265, 36);

                    //---- bookEntrySubject ----
                    bookEntrySubject.setText("Subject");
                    bookEntrySubject.setHorizontalAlignment(SwingConstants.CENTER);
                    bookEntryPanel.add(bookEntrySubject);
                    bookEntrySubject.setBounds(410, 103, 110, 36);

                    //---- bookEntrySubjectCom ----
                    bookEntrySubjectCom.setModel(new DefaultComboBoxModel(new String[] {
                        "Classic",
                        "Comedy",
                        "Tragedy",
                        "Mythology",
                        "Poetry",
                        "Crime",
                        "Thriller",
                        "Horror",
                        "Mystery",
                        "Historical_Fiction",
                        "Fantasy",
                        "Urban-Fantasy",
                        "Science_Fiction",
                        "Military",
                        "Western",
                        "Romance",
                        "Biography",
                        "Auto-Biography",
                        "Essay",
                        "Narrative",
                        "Speech",
                        "Textbook",
                        "Reference",
                        "Religious_Text"
                    }));
                    bookEntryPanel.add(bookEntrySubjectCom);
                    bookEntrySubjectCom.setBounds(525, 103, 235, 36);

                    //---- bookEntryPdate ----
                    bookEntryPdate.setText("Purchase Date");
                    bookEntryPdate.setHorizontalAlignment(SwingConstants.CENTER);
                    bookEntryPanel.add(bookEntryPdate);
                    bookEntryPdate.setBounds(10, 142, 130, 36);

                    //---- bookEntryPdateText ----
                    bookEntryPdateText.setText("yyyy-mm-dd");
                    bookEntryPdateText.setToolTipText("please input as yyyy-mm-dd");
                    bookEntryPdateText.addMouseListener(new MouseAdapter() {
                        @Override
                        public void mouseClicked(MouseEvent e) {
                            bookEntryPdateTextMouseClicked(e);
                        }
                    });
                    bookEntryPanel.add(bookEntryPdateText);
                    bookEntryPdateText.setBounds(140, 142, 265, 36);

                    //---- bookEntryShopname ----
                    bookEntryShopname.setText("Shop Name");
                    bookEntryShopname.setHorizontalAlignment(SwingConstants.CENTER);
                    bookEntryPanel.add(bookEntryShopname);
                    bookEntryShopname.setBounds(410, 142, 110, 36);
                    bookEntryPanel.add(bookEntryShopnameText);
                    bookEntryShopnameText.setBounds(525, 142, 235, 36);

                    //---- bookEntryPrice ----
                    bookEntryPrice.setText("Price");
                    bookEntryPrice.setHorizontalAlignment(SwingConstants.CENTER);
                    bookEntryPanel.add(bookEntryPrice);
                    bookEntryPrice.setBounds(10, 181, 130, 36);
                    bookEntryPanel.add(bookEntryPriceText);
                    bookEntryPriceText.setBounds(140, 181, 265, 36);

                    //---- bookEntryDetail ----
                    bookEntryDetail.setText("Detail");
                    bookEntryDetail.setHorizontalAlignment(SwingConstants.CENTER);
                    bookEntryPanel.add(bookEntryDetail);
                    bookEntryDetail.setBounds(410, 181, 110, 36);
                    bookEntryPanel.add(bookEntryDetailText);
                    bookEntryDetailText.setBounds(525, 181, 235, 84);

                    //---- bookEntryStatus ----
                    bookEntryStatus.setText("Status");
                    bookEntryStatus.setHorizontalAlignment(SwingConstants.CENTER);
                    bookEntryPanel.add(bookEntryStatus);
                    bookEntryStatus.setBounds(10, 220, 130, 36);

                    //---- bookEntryStatusCom ----
                    bookEntryStatusCom.setModel(new DefaultComboBoxModel(new String[] {
                        "AVAILABLE",
                        "UNAVAILABLE",
                        "Lost",
                        "Damaged"
                    }));
                    bookEntryPanel.add(bookEntryStatusCom);
                    bookEntryStatusCom.setBounds(140, 220, 265, 36);

                    { // compute preferred size
                        Dimension preferredSize = new Dimension();
                        for(int i = 0; i < bookEntryPanel.getComponentCount(); i++) {
                            Rectangle bounds = bookEntryPanel.getComponent(i).getBounds();
                            preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
                            preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
                        }
                        Insets insets = bookEntryPanel.getInsets();
                        preferredSize.width += insets.right;
                        preferredSize.height += insets.bottom;
                        bookEntryPanel.setMinimumSize(preferredSize);
                        bookEntryPanel.setPreferredSize(preferredSize);
                    }
                }
                bookTapPane.add(bookEntryPanel);
                bookEntryPanel.setBounds(40, 165, 770, 270);

                //======== navigationBookPane ========
                {
                    navigationBookPane.setLayout(null);

                    //---- previousBookButton ----
                    previousBookButton.setText("Previous");
                    previousBookButton.setMaximumSize(new Dimension(80, 32));
                    previousBookButton.setMinimumSize(new Dimension(80, 32));
                    previousBookButton.setPreferredSize(new Dimension(80, 32));
                    previousBookButton.addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
                            previousBookButtonActionPerformed(e);
                        }
                    });
                    navigationBookPane.add(previousBookButton);
                    previousBookButton.setBounds(10, 5, 85, previousBookButton.getPreferredSize().height);

                    //---- currentBookIndex ----
                    currentBookIndex.setMaximumSize(new Dimension(35, 32));
                    currentBookIndex.setMinimumSize(new Dimension(35, 32));
                    currentBookIndex.setPreferredSize(new Dimension(35, 32));
                    currentBookIndex.addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
                            currentBookIndexActionPerformed(e);
                        }
                    });
                    navigationBookPane.add(currentBookIndex);
                    currentBookIndex.setBounds(105, 10, 45, 25);

                    //---- bookOflabel ----
                    bookOflabel.setText("of");
                    navigationBookPane.add(bookOflabel);
                    bookOflabel.setBounds(160, 15, 20, 14);

                    //---- maxIndexBook ----
                    maxIndexBook.setMaximumSize(new Dimension(35, 32));
                    maxIndexBook.setMinimumSize(new Dimension(35, 32));
                    maxIndexBook.setPreferredSize(new Dimension(35, 32));
                    navigationBookPane.add(maxIndexBook);
                    maxIndexBook.setBounds(180, 10, 45, 25);

                    //---- nextBookButton ----
                    nextBookButton.setText("Next");
                    nextBookButton.setMaximumSize(new Dimension(80, 32));
                    nextBookButton.setMinimumSize(new Dimension(80, 32));
                    nextBookButton.setPreferredSize(new Dimension(80, 32));
                    nextBookButton.addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
                            nextBookButtonActionPerformed(e);
                        }
                    });
                    navigationBookPane.add(nextBookButton);
                    nextBookButton.setBounds(245, 5, 80, nextBookButton.getPreferredSize().height);

                    { // compute preferred size
                        Dimension preferredSize = new Dimension();
                        for(int i = 0; i < navigationBookPane.getComponentCount(); i++) {
                            Rectangle bounds = navigationBookPane.getComponent(i).getBounds();
                            preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
                            preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
                        }
                        Insets insets = navigationBookPane.getInsets();
                        preferredSize.width += insets.right;
                        preferredSize.height += insets.bottom;
                        navigationBookPane.setMinimumSize(preferredSize);
                        navigationBookPane.setPreferredSize(preferredSize);
                    }
                }
                bookTapPane.add(navigationBookPane);
                navigationBookPane.setBounds(270, 435, 335, 40);

                //---- addBookButton ----
                addBookButton.setText("Add Book");
                addBookButton.addActionListener(new ActionListener() {
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        addBookButtonActionPerformed(e);
                    }
                });
                bookTapPane.add(addBookButton);
                addBookButton.setBounds(135, 480, 150, 30);

                //---- modifyBookButton ----
                modifyBookButton.setText("Modify Book");
                modifyBookButton.addActionListener(new ActionListener() {
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        modifyBookButtonActionPerformed(e);
                    }
                });
                bookTapPane.add(modifyBookButton);
                modifyBookButton.setBounds(360, 480, 150, 30);

                //---- deleteBookButton ----
                deleteBookButton.setText("Delete Book");
                deleteBookButton.addActionListener(new ActionListener() {
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        deleteBookButtonActionPerformed(e);
                    }
                });
                bookTapPane.add(deleteBookButton);
                deleteBookButton.setBounds(585, 480, 150, 30);

                { // compute preferred size
                    Dimension preferredSize = new Dimension();
                    for(int i = 0; i < bookTapPane.getComponentCount(); i++) {
                        Rectangle bounds = bookTapPane.getComponent(i).getBounds();
                        preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
                        preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
                    }
                    Insets insets = bookTapPane.getInsets();
                    preferredSize.width += insets.right;
                    preferredSize.height += insets.bottom;
                    bookTapPane.setMinimumSize(preferredSize);
                    bookTapPane.setPreferredSize(preferredSize);
                }
            }
            mainPanel.addTab("Book Management", bookTapPane);

            //======== rePortPanel ========
            {
                rePortPanel.setLayout(new GridBagLayout());
                ((GridBagLayout)rePortPanel.getLayout()).columnWidths = new int[] {0, 0};
                ((GridBagLayout)rePortPanel.getLayout()).rowHeights = new int[] {0, 0};
                ((GridBagLayout)rePortPanel.getLayout()).columnWeights = new double[] {1.0, 1.0E-4};
                ((GridBagLayout)rePortPanel.getLayout()).rowWeights = new double[] {1.0, 1.0E-4};

                //======== reportPanel ========
                {
                    reportPanel.setLayout(null);

                    //---- bookLendingLabel ----
                    bookLendingLabel.setText("Book Lending Report");
                    reportPanel.add(bookLendingLabel);
                    bookLendingLabel.setBounds(new Rectangle(new Point(170, 190), bookLendingLabel.getPreferredSize()));

                    //---- fineReportLabel ----
                    fineReportLabel.setText("Fine Report");
                    reportPanel.add(fineReportLabel);
                    fineReportLabel.setBounds(170, 240, 150, fineReportLabel.getPreferredSize().height);

                    //---- lendingCombo ----
                    lendingCombo.setModel(new DefaultComboBoxModel(new String[] {
                        "Daily",
                        "Monthly",
                        "Annually"
                    }));
                    reportPanel.add(lendingCombo);
                    lendingCombo.setBounds(330, 185, 125, lendingCombo.getPreferredSize().height);

                    //---- findCombo ----
                    findCombo.setModel(new DefaultComboBoxModel(new String[] {
                        "Book lost",
                        "Late return",
                        "User Fine"
                    }));
                    reportPanel.add(findCombo);
                    findCombo.setBounds(330, 235, 125, findCombo.getPreferredSize().height);

                    //---- generateLendingButton ----
                    generateLendingButton.setText("Generate Report");
                    generateLendingButton.addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
                            generateLendingButtonActionPerformed(e);
                        }
                    });
                    reportPanel.add(generateLendingButton);
                    generateLendingButton.setBounds(new Rectangle(new Point(480, 180), generateLendingButton.getPreferredSize()));

                    //---- generateFineButton ----
                    generateFineButton.setText("Generate Report");
                    generateFineButton.addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
                            generateFineButtonActionPerformed(e);
                        }
                    });
                    reportPanel.add(generateFineButton);
                    generateFineButton.setBounds(new Rectangle(new Point(480, 230), generateFineButton.getPreferredSize()));

                    //---- bookPurchasedLabel ----
                    bookPurchasedLabel.setText("Book Purchased Report");
                    reportPanel.add(bookPurchasedLabel);
                    bookPurchasedLabel.setBounds(new Rectangle(new Point(170, 290), bookPurchasedLabel.getPreferredSize()));

                    //---- bookPurchasedCom ----
                    bookPurchasedCom.setModel(new DefaultComboBoxModel(new String[] {
                        "By Shop",
                        "By Price",
                        "By Year(2014)",
                        "By Year(2013)"
                    }));
                    reportPanel.add(bookPurchasedCom);
                    bookPurchasedCom.setBounds(330, 285, 125, bookPurchasedCom.getPreferredSize().height);

                    //---- generatePurchaseButton ----
                    generatePurchaseButton.setText("Generate Report");
                    generatePurchaseButton.addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
                            generatePurchaseButtonActionPerformed(e);
                        }
                    });
                    reportPanel.add(generatePurchaseButton);
                    generatePurchaseButton.setBounds(new Rectangle(new Point(480, 280), generatePurchaseButton.getPreferredSize()));

                    { // compute preferred size
                        Dimension preferredSize = new Dimension();
                        for(int i = 0; i < reportPanel.getComponentCount(); i++) {
                            Rectangle bounds = reportPanel.getComponent(i).getBounds();
                            preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
                            preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
                        }
                        Insets insets = reportPanel.getInsets();
                        preferredSize.width += insets.right;
                        preferredSize.height += insets.bottom;
                        reportPanel.setMinimumSize(preferredSize);
                        reportPanel.setPreferredSize(preferredSize);
                    }
                }
                rePortPanel.add(reportPanel, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0,
                    GridBagConstraints.CENTER, GridBagConstraints.BOTH,
                    new Insets(0, 0, 0, 0), 0, 0));
            }
            mainPanel.addTab("Report Generation", rePortPanel);
        }
        contentPane.add(mainPanel);
        mainPanel.setBounds(35, 95, 850, 550);

        { // compute preferred size
            Dimension preferredSize = new Dimension();
            for(int i = 0; i < contentPane.getComponentCount(); i++) {
                Rectangle bounds = contentPane.getComponent(i).getBounds();
                preferredSize.width = Math.max(bounds.x + bounds.width, preferredSize.width);
                preferredSize.height = Math.max(bounds.y + bounds.height, preferredSize.height);
            }
            Insets insets = contentPane.getInsets();
            preferredSize.width += insets.right;
            preferredSize.height += insets.bottom;
            contentPane.setMinimumSize(preferredSize);
            contentPane.setPreferredSize(preferredSize);
        }
        pack();
        setLocationRelativeTo(getOwner());
        // JFormDesigner - End of component initialization  //GEN-END:initComponents

    }