ppp.ui.Customer1.java Source code

Java tutorial

Introduction

Here is the source code for ppp.ui.Customer1.java

Source

/*
 * Created by JFormDesigner on Fri Oct 31 17:43:44 NZDT 2014
 */

package ppp.ui;

import java.awt.*;
import java.awt.event.*;
import java.sql.SQLException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import javax.swing.*;
import javax.swing.border.*;
import com.jgoodies.forms.factories.*;
import ppp.model.*;

/**
 * @author David Park
 */
public class Customer1 extends JFrame {

    private User currentEntry;
    private RegisteringUserClassToDB personQueries;
    private List<User> results;

    private Book currentEntry1;
    private RegisteringUserClassToDB bookQueries;
    private List<Book> results1;
    private int numberOfEntriesBook = 0;
    private int currentEntryIndexBook;
    private static int activeUserID;
    private String activeUserEmail;
    private String userTypeName;

    private BorrowBook currentEntry2;
    private List<BorrowBook> results3;
    private int numberOfEntriesBurrowBook = 0;
    private int logoutCounter = 0;

    public Customer1(int activeUserID, String activeUserEmail, String userTypeName) {
        initComponents();
        personQueries = new RegisteringUserClassToDB();
        bookQueries = new RegisteringUserClassToDB();
        this.activeUserID = activeUserID;
        this.activeUserEmail = activeUserEmail;
        this.userTypeName = userTypeName;
        label2.setText("Welcome :" + activeUserEmail);
        label3.setText("User Type: " + userTypeName);
        getUserInfo();
        personaInfoDisplay();
        personalBookInfo();

    }

    public void personalBookInfo() {

        try {
            results3 = bookQueries.getBorrowedBook(activeUserID);
            numberOfEntriesBurrowBook = results3.size();

            if (numberOfEntriesBurrowBook != 0) {

                for (int i = 0; i < results3.size(); i++) {
                    if (i == 0) {
                        currentEntry2 = results3.get(i);
                        title1.setText(currentEntry2.getTitle());
                        date1.setText(String.valueOf(currentEntry2.getBorrowedDate()));
                        due1.setText(currentEntry2.getDue());
                    } else if (i == 1) {
                        currentEntry2 = results3.get(i);
                        title2.setText(currentEntry2.getTitle());
                        date2.setText(String.valueOf(currentEntry2.getBorrowedDate()));
                        due2.setText(currentEntry2.getDue());
                    } else if (i == 2) {
                        currentEntry2 = results3.get(i);
                        title3.setText(currentEntry2.getTitle());
                        date3.setText(String.valueOf(currentEntry2.getBorrowedDate()));
                        due3.setText(currentEntry2.getDue());
                    } else if (i == 3) {
                        currentEntry2 = results3.get(i);
                        title4.setText(currentEntry2.getTitle());
                        date4.setText(String.valueOf(currentEntry2.getBorrowedDate()));
                        due4.setText(currentEntry2.getDue());
                    } else if (i == 4) {
                        currentEntry2 = results3.get(i);
                        title5.setText(currentEntry2.getTitle());
                        date5.setText(String.valueOf(currentEntry2.getBorrowedDate()));
                        due5.setText(currentEntry2.getDue());
                    }

                }

                //                currentEntryIndexBook = 0;
                //                currentEntry2 = results3.get(currentEntryIndexBook);
                //                title1.setText(currentEntry2.getTitle());
                //                date1.setText(String.valueOf(currentEntry2.getBorrowedDate()));
                //                due1.setText(currentEntry2.getDue());
                //
                //                currentEntryIndexBook = 1;
                //                currentEntry2 = results3.get(currentEntryIndexBook);
                //                title2.setText(currentEntry2.getTitle());
                //                date2.setText(String.valueOf(currentEntry2.getBorrowedDate()));
                //                due2.setText(currentEntry2.getDue());
                //
                //                currentEntryIndexBook = 2;
                //                currentEntry2 = results3.get(currentEntryIndexBook);
                //                title3.setText(currentEntry2.getTitle());
                //                date3.setText(String.valueOf(currentEntry2.getBorrowedDate()));
                //                due3.setText(currentEntry2.getDue());
                //
                //                currentEntryIndexBook = 3;
                //                currentEntry2 = results3.get(currentEntryIndexBook);
                //                title4.setText(currentEntry2.getTitle());
                //                date4.setText(String.valueOf(currentEntry2.getBorrowedDate()));
                //                due4.setText(currentEntry2.getDue());
                //
                //                currentEntryIndexBook = 4;
                //                currentEntry2 = results3.get(currentEntryIndexBook);
                //                title5.setText(currentEntry2.getTitle());
                //                date5.setText(String.valueOf(currentEntry2.getBorrowedDate()));
                //                due5.setText(currentEntry2.getDue());

            }
        } catch (NullPointerException e) {
            e.printStackTrace();
        }

    }

    public void personaInfoDisplay() {
        // display total number of book borrowed
        a1.setText(personQueries.totalBook(activeUserID));
        if (a1.equals(""))
            a1.setText("0");

        // display total fine
        a2.setText("$  " + personQueries.totalFine(activeUserID));
        if (a2.equals("0"))
            a2.setText("0");

        // last login date
        a3.setText(personQueries.lastLoginTime(activeUserID));
        if (a3.equals(""))
            a3.setText("");

        // last borrow activity
        a4.setText(personQueries.lastActivity(activeUserID));
        if (a4.equals(""))
            a4.setText("None");

        String notification = personQueries.notifyOverdue(activeUserID);
        if (notification.equals("0")) {
            a5.setText("");
        } else {
            a5.setText("!!! You have  " + notification + " of Overdue Book!!!");
            JOptionPane.showMessageDialog(this, "You have " + notification + " of Overdue Book!", "Notification",
                    JOptionPane.WARNING_MESSAGE);

        }

    }

    private void thisWindowClosed(WindowEvent e) {
        // TODO add your code here
        personQueries.close();
        bookQueries.close();
        LoginTime ex = new LoginTime(activeUserID);
        try {
            ex.setLogOUTTime();
        } catch (SQLException e1) {
            e1.printStackTrace();
        }

        if (logoutCounter == 0) {
            Login newLogin = new Login();
            newLogin.setSize(700, 600);
            newLogin.setVisible(true);
        }

    }

    private void thisWindowClosing(WindowEvent e) {
        // TODO add your code here
    }

    private void logOutbuttonActionPerformed(ActionEvent e) {
        // TODO add your code here

        personQueries.close();
        bookQueries.close();
        Login newLogin = new Login();

        LoginTime ex = new LoginTime(activeUserID);
        try {
            ex.setLogOUTTime();
        } catch (SQLException e1) {
            e1.printStackTrace();
        }

        this.dispose();

        newLogin.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        newLogin.setSize(700, 600);
        newLogin.setVisible(true);

        this.logoutCounter = 1;
    }

    private void searchTitleButtonActionPerformed(ActionEvent e) {
        // TODO add your code here
        results1 = bookQueries.getBookByTitle(searchTitleField.getText());
        numberOfEntriesBook = results1.size();

        if (numberOfEntriesBook != 0) {
            currentEntryIndexBook = 0;
            currentEntry1 = results1.get(currentEntryIndexBook);
            bookEntryTitleText.setText(currentEntry1.getTitle());
            bookEntryAuthorText.setText(currentEntry1.getAuthor());
            bookEntryISBNText.setText(currentEntry1.getIsbn());
            bookEntryPublicText.setText(currentEntry1.getPublication());
            bookEntryGenreCom.setSelectedIndex(currentEntry1.getGenreID() - 1);
            bookEntrySubjectCom.setSelectedIndex(currentEntry1.getSubjectId() - 2);
            bookEntryDetailText.setText(currentEntry1.getDetail());
            bookEntryStatusCom.setSelectedItem(currentEntry1.getStatus());
            currentBookIndex.setText("" + (currentEntryIndexBook + 1));
            nextBookButton.setEnabled(true);
            previousBookButton.setEnabled(true);
        } else {
            JOptionPane.showMessageDialog(this, "Sorry, No Book has been searched by using keyword", "No Book",
                    JOptionPane.PLAIN_MESSAGE);
            emptyBookTextFieldActionPerformed();
        }

        System.out.println(currentEntry1.getTitle());
        System.out.println(currentEntry1.getAuthor());
        System.out.println(currentEntry1.getBookID());
        System.out.println(currentEntry1.getGenreID());
        System.out.println(currentEntry1.getStatus());
        System.out.println(currentEntry1.getSubjectId());
        System.out.println(currentEntry1.getIsbn());

    }

    private void emptyBookTextFieldActionPerformed() {
        bookEntryTitleText.setText("");
        bookEntryAuthorText.setText("");
        bookEntryISBNText.setText("");
        bookEntryPublicText.setText("");
        bookEntryGenreCom.setSelectedIndex(0);
        bookEntrySubjectCom.setSelectedIndex(0);
        bookEntryDetailText.setText("");
        bookEntryStatusCom.setSelectedIndex(0);
        currentBookIndex.setText("");
        nextBookButton.setEnabled(false);
        previousBookButton.setEnabled(false);
    }

    private void searchAuthorButtonActionPerformed(ActionEvent e) {
        // TODO add your code here
        results1 = bookQueries.getBookByAuthor(searchAuthorField.getText());
        numberOfEntriesBook = results1.size();

        if (numberOfEntriesBook != 0) {
            currentEntryIndexBook = 0;
            currentEntry1 = results1.get(currentEntryIndexBook);
            bookEntryTitleText.setText(currentEntry1.getTitle());
            bookEntryAuthorText.setText(currentEntry1.getAuthor());
            bookEntryISBNText.setText(currentEntry1.getIsbn());
            bookEntryPublicText.setText(currentEntry1.getPublication());
            bookEntryGenreCom.setSelectedIndex(currentEntry1.getGenreID() - 1);
            bookEntrySubjectCom.setSelectedIndex(currentEntry1.getSubjectId() - 2);
            bookEntryDetailText.setText(currentEntry1.getDetail());
            bookEntryStatusCom.setSelectedItem(currentEntry1.getStatus());
            currentBookIndex.setText("" + (currentEntryIndexBook + 1));
            nextBookButton.setEnabled(true);
            previousBookButton.setEnabled(true);
        } else {
            JOptionPane.showMessageDialog(this, "Sorry, No Book has been searched by using keyword", "No Book",
                    JOptionPane.PLAIN_MESSAGE);
            emptyBookTextFieldActionPerformed();
        }
    }

    private void previousBookButtonActionPerformed(ActionEvent e) {
        // TODO add your code here
        currentEntryIndexBook--;

        if (currentEntryIndexBook < 0)
            currentEntryIndexBook = numberOfEntriesBook - 1;

        currentBookIndex.setText("" + (currentEntryIndexBook + 1));
        currentBookIndexActionPerformed(e);
    }

    private void currentBookIndexActionPerformed(ActionEvent e) {
        // TODO add your code here
        currentEntryIndexBook = (Integer.parseInt(currentBookIndex.getText()) - 1);

        if (numberOfEntriesBook != 0 && currentEntryIndexBook < numberOfEntriesBook) {
            currentEntry1 = results1.get(currentEntryIndexBook);
            bookEntryTitleText.setText(currentEntry1.getTitle());
            bookEntryAuthorText.setText(currentEntry1.getAuthor());
            bookEntryISBNText.setText(currentEntry1.getIsbn());
            bookEntryPublicText.setText(currentEntry1.getPublication());
            bookEntrySubjectCom.setSelectedIndex(currentEntry1.getSubjectId());
            bookEntryGenreCom.setSelectedIndex(currentEntry1.getGenreID());
            bookEntryDetailText.setText(currentEntry1.getDetail());
            bookEntryStatusCom.setSelectedItem(currentEntry1.getStatus());
            maxIndexBook.setText("" + numberOfEntriesBook);
            currentBookIndex.setText("" + (currentEntryIndexBook + 1));
        }
    }

    private void nextBookButtonActionPerformed(ActionEvent e) {
        // TODO add your code here
        currentEntryIndexBook++;

        if (currentEntryIndexBook >= numberOfEntriesBook)
            currentEntryIndexBook = 0;

        currentBookIndex.setText("" + (currentEntryIndexBook + 1));
        currentBookIndexActionPerformed(e);
    }

    private void changePersonButtonActionPerformed(ActionEvent e) {
        // TODO add your code here
        int results = personQueries.modifyUser(userEntryfNameText.getText(), userEntrylNameText.getText(),
                String.valueOf(passwordField1.getPassword()), userEntryEmailText.getText(),
                userEntryAdressText.getText(), userEntryPhoneText.getText(), "Customer", currentEntry.getUser_ID()

        );

        if (results == 1)
            JOptionPane.showMessageDialog(this, "Person Modified!", "Person Modified", JOptionPane.PLAIN_MESSAGE);
        else
            JOptionPane.showMessageDialog(this, "Person not Modified!", "Error", JOptionPane.PLAIN_MESSAGE);

    }

    private void searchTopicButtonActionPerformed(ActionEvent e) {
        // TODO add your code here
        results1 = bookQueries.getBookByTopic(searchTopicText.getText());
        numberOfEntriesBook = results1.size();

        if (numberOfEntriesBook != 0) {
            currentEntryIndexBook = 0;
            currentEntry1 = results1.get(currentEntryIndexBook);
            bookEntryTitleText.setText(currentEntry1.getTitle());
            bookEntryAuthorText.setText(currentEntry1.getAuthor());
            bookEntryISBNText.setText(currentEntry1.getIsbn());
            bookEntryPublicText.setText(currentEntry1.getPublication());
            bookEntryGenreCom.setSelectedIndex(currentEntry1.getGenreID() - 1);
            bookEntrySubjectCom.setSelectedIndex(currentEntry1.getSubjectId() - 2);
            bookEntryDetailText.setText(currentEntry1.getDetail());
            bookEntryStatusCom.setSelectedItem(currentEntry1.getStatus());
            currentBookIndex.setText("" + (currentEntryIndexBook + 1));
            nextBookButton.setEnabled(true);
            previousBookButton.setEnabled(true);
        } else {
            JOptionPane.showMessageDialog(this, "Sorry, No Book has been searched by using keyword", "No Book",
                    JOptionPane.PLAIN_MESSAGE);
        }

    }

    private void burrowBookButtonActionPerformed(ActionEvent e) {
        // TODO add your code here

        if (Integer.parseInt(personQueries.totalBook(activeUserID)) <= 4) {
            DateFormat df = new SimpleDateFormat("yy/MM/dd HH:mm:ss");
            Date loginTime = new Date();
            String formatLoginTime = df.format(loginTime.getTime());

            int results1 = bookQueries.borrowBook(formatLoginTime, currentEntry1.getBookID(), activeUserID);

            bookQueries.updateStatusBook(currentEntry1.getBookID());

            if (results1 == 1) {
                JOptionPane.showMessageDialog(this, "Book Borrowed!", "Borrowed ", JOptionPane.PLAIN_MESSAGE);
            } else {
                JOptionPane.showMessageDialog(this, "Book is not Borrowed!", "Error", JOptionPane.PLAIN_MESSAGE);
            }
            emptyBookTextFieldActionPerformed();

        } else {
            JOptionPane.showMessageDialog(this, "Maximum borrowed number of book is 5 !", "Error",
                    JOptionPane.ERROR_MESSAGE);
        }

    }

    private void requestBookButtonActionPerformed(ActionEvent e) {
        // TODO add your code here
    }

    public void getUserInfo() {

        results = personQueries.getUserInfo(activeUserID);
        int numberOfEntriesUser = results.size();

        if (numberOfEntriesUser != 0) {
            int currentEntryIndexUser = 0;
            currentEntry = results.get(currentEntryIndexUser);
            userEntryfNameText.setText(currentEntry.getFirstName());
            userEntrylNameText.setText(currentEntry.getLastName());
            passwordField1.setText(currentEntry.getPassword());
            userEntryPhoneText.setText(currentEntry.getPhoneNum());
            userEntryEmailText.setText(currentEntry.getEamil());
            userEntryAdressText.setText(currentEntry.getAddress());

        } else {
            JOptionPane.showMessageDialog(this, "Sorry, No User has been searched by using keyword", "No user",
                    JOptionPane.PLAIN_MESSAGE);
        }

    }

    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();
        bookTapPane = new JPanel();
        searchBookPanel = new JPanel();
        searchTitle = new JLabel();
        searchTitleField = new JTextField();
        searchTitleButton = new JButton();
        searchAuthor = new JLabel();
        searchAuthorField = new JTextField();
        searchAuthorButton = new JButton();
        searchTopic = new JLabel();
        searchTopicText = new JTextField();
        searchTopicButton = 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();
        bookEntryDetail = new JLabel();
        bookEntryDetailText = new JTextField();
        bookEntryStatus = new JLabel();
        bookEntryStatusCom = new JComboBox();
        burrowBookButton = new JButton();
        requestBookButton = new JButton();
        navigationBookPane = new JPanel();
        previousBookButton = new JButton();
        currentBookIndex = new JTextField();
        bookOflabel = new JLabel();
        maxIndexBook = new JTextField();
        nextBookButton = new JButton();
        userTapPanel = new JPanel();
        searchUserPanel = new JPanel();
        label1 = new JLabel();
        a1 = new JLabel();
        a5 = new JLabel();
        label11 = new JLabel();
        label12 = new JLabel();
        a2 = new JLabel();
        a3 = new JLabel();
        label18 = new JLabel();
        a4 = new JLabel();
        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();
        changePersonButton = new JButton();
        searchUserPanel2 = new JPanel();
        label13 = new JLabel();
        label14 = new JLabel();
        label15 = new JLabel();
        title1 = new JTextField();
        date1 = new JTextField();
        due1 = new JTextField();
        title2 = new JTextField();
        date2 = new JTextField();
        due2 = new JTextField();
        title3 = new JTextField();
        date3 = new JTextField();
        due3 = new JTextField();
        title4 = new JTextField();
        date4 = new JTextField();
        due4 = new JTextField();
        title5 = new JTextField();
        date5 = new JTextField();
        due5 = new JTextField();

        //======== this ========
        addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosed(WindowEvent e) {
                thisWindowClosed(e);
            }

            @Override
            public void windowClosing(WindowEvent e) {
                thisWindowClosing(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) {
                    logOutbuttonActionPerformed(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 ========
        {

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

                //======== searchBookPanel ========
                {
                    searchBookPanel.setBorder(
                            new CompoundBorder(new TitledBorder("Search Book by Keyword"), Borders.DLU2));
                    searchBookPanel.setLayout(new GridLayout(3, 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);

                    //---- searchTopic ----
                    searchTopic.setText("Topic");
                    searchTopic.setHorizontalAlignment(SwingConstants.CENTER);
                    searchBookPanel.add(searchTopic);
                    searchBookPanel.add(searchTopicText);

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

                //======== bookEntryPanel ========
                {
                    bookEntryPanel.setBorder(new CompoundBorder(new TitledBorder("Entry"), Borders.DLU2));
                    bookEntryPanel.setLayout(new GridLayout(4, 4, 2, 3));

                    //---- bookEntryTitle ----
                    bookEntryTitle.setText("Title");
                    bookEntryTitle.setHorizontalAlignment(SwingConstants.CENTER);
                    bookEntryTitle.setPreferredSize(new Dimension(16, 16));
                    bookEntryTitle.setRequestFocusEnabled(false);
                    bookEntryTitle.setMinimumSize(new Dimension(16, 16));
                    bookEntryTitle.setMaximumSize(new Dimension(16, 16));
                    bookEntryPanel.add(bookEntryTitle);

                    //---- bookEntryTitleText ----
                    bookEntryTitleText.setEditable(false);
                    bookEntryPanel.add(bookEntryTitleText);

                    //---- bookEntryAuthoer ----
                    bookEntryAuthoer.setText("Author");
                    bookEntryAuthoer.setHorizontalAlignment(SwingConstants.CENTER);
                    bookEntryPanel.add(bookEntryAuthoer);

                    //---- bookEntryAuthorText ----
                    bookEntryAuthorText.setEditable(false);
                    bookEntryPanel.add(bookEntryAuthorText);

                    //---- bookEntryISBN ----
                    bookEntryISBN.setText("ISBN");
                    bookEntryISBN.setHorizontalAlignment(SwingConstants.CENTER);
                    bookEntryISBN.setPreferredSize(new Dimension(16, 16));
                    bookEntryISBN.setRequestFocusEnabled(false);
                    bookEntryPanel.add(bookEntryISBN);

                    //---- bookEntryISBNText ----
                    bookEntryISBNText.setEditable(false);
                    bookEntryPanel.add(bookEntryISBNText);

                    //---- bookEntryPublic ----
                    bookEntryPublic.setText("Publication");
                    bookEntryPublic.setHorizontalAlignment(SwingConstants.CENTER);
                    bookEntryPanel.add(bookEntryPublic);

                    //---- bookEntryPublicText ----
                    bookEntryPublicText.setEditable(false);
                    bookEntryPanel.add(bookEntryPublicText);

                    //---- bookEntryGenre ----
                    bookEntryGenre.setText("Genre");
                    bookEntryGenre.setHorizontalAlignment(SwingConstants.CENTER);
                    bookEntryGenre.setPreferredSize(new Dimension(16, 16));
                    bookEntryGenre.setRequestFocusEnabled(false);
                    bookEntryPanel.add(bookEntryGenre);

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

                    //---- bookEntrySubject ----
                    bookEntrySubject.setText("Subject");
                    bookEntrySubject.setHorizontalAlignment(SwingConstants.CENTER);
                    bookEntryPanel.add(bookEntrySubject);

                    //---- 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);

                    //---- bookEntryDetail ----
                    bookEntryDetail.setText("Detail");
                    bookEntryDetail.setHorizontalAlignment(SwingConstants.CENTER);
                    bookEntryDetail.setPreferredSize(new Dimension(16, 16));
                    bookEntryDetail.setRequestFocusEnabled(false);
                    bookEntryDetail.setMinimumSize(new Dimension(16, 16));
                    bookEntryDetail.setMaximumSize(new Dimension(16, 16));
                    bookEntryPanel.add(bookEntryDetail);

                    //---- bookEntryDetailText ----
                    bookEntryDetailText.setEditable(false);
                    bookEntryPanel.add(bookEntryDetailText);

                    //---- bookEntryStatus ----
                    bookEntryStatus.setText("Status");
                    bookEntryStatus.setHorizontalAlignment(SwingConstants.CENTER);
                    bookEntryPanel.add(bookEntryStatus);

                    //---- bookEntryStatusCom ----
                    bookEntryStatusCom.setModel(new DefaultComboBoxModel(
                            new String[] { "AVAILABLE\t", "UNAVAILABLE", "Lost", "Damaged" }));
                    bookEntryPanel.add(bookEntryStatusCom);
                }
                bookTapPane.add(bookEntryPanel);
                bookEntryPanel.setBounds(40, 215, 770, 220);

                //---- burrowBookButton ----
                burrowBookButton.setText("Burrow a Book");
                burrowBookButton.addActionListener(new ActionListener() {
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        burrowBookButtonActionPerformed(e);
                    }
                });
                bookTapPane.add(burrowBookButton);
                burrowBookButton.setBounds(245, 480, 150, 30);

                //---- requestBookButton ----
                requestBookButton.setText("Request a Booking");
                requestBookButton.addActionListener(new ActionListener() {
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        requestBookButtonActionPerformed(e);
                    }
                });
                bookTapPane.add(requestBookButton);
                requestBookButton.setBounds(460, 480, 150, 30);

                //======== navigationBookPane ========
                {
                    navigationBookPane.setLayout(new FlowLayout());

                    //---- previousBookButton ----
                    previousBookButton.setText("Previous");
                    previousBookButton.addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
                            previousBookButtonActionPerformed(e);
                        }
                    });
                    navigationBookPane.add(previousBookButton);

                    //---- currentBookIndex ----
                    currentBookIndex.setMinimumSize(new Dimension(24, 24));
                    currentBookIndex.setPreferredSize(new Dimension(24, 24));
                    currentBookIndex.addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
                            currentBookIndexActionPerformed(e);
                        }
                    });
                    navigationBookPane.add(currentBookIndex);

                    //---- bookOflabel ----
                    bookOflabel.setText("of");
                    navigationBookPane.add(bookOflabel);

                    //---- maxIndexBook ----
                    maxIndexBook.setPreferredSize(new Dimension(24, 24));
                    navigationBookPane.add(maxIndexBook);

                    //---- nextBookButton ----
                    nextBookButton.setText("Next");
                    nextBookButton.addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
                            nextBookButtonActionPerformed(e);
                        }
                    });
                    navigationBookPane.add(nextBookButton);
                }
                bookTapPane.add(navigationBookPane);
                navigationBookPane.setBounds(255, 435, 325, 40);

                { // 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("Search Book & Borrow Book", bookTapPane);

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

                //======== searchUserPanel ========
                {
                    searchUserPanel.setBorder(new TitledBorder("User Acitivity Information"));
                    searchUserPanel.setLayout(null);

                    //---- label1 ----
                    label1.setText("Total Number of Book Borrowed  :");
                    searchUserPanel.add(label1);
                    label1.setBounds(20, 45, 220, label1.getPreferredSize().height);

                    //---- a1 ----
                    a1.setText("Number");
                    searchUserPanel.add(a1);
                    a1.setBounds(240, 45, 85, a1.getPreferredSize().height);

                    //---- a5 ----
                    a5.setHorizontalAlignment(SwingConstants.CENTER);
                    searchUserPanel.add(a5);
                    a5.setBounds(55, 165, 230, 25);

                    //---- label11 ----
                    label11.setText("Total Fine   :");
                    searchUserPanel.add(label11);
                    label11.setBounds(20, 75, 80, label11.getPreferredSize().height);

                    //---- label12 ----
                    label12.setText("Last Login Date   :");
                    searchUserPanel.add(label12);
                    label12.setBounds(new Rectangle(new Point(20, 105), label12.getPreferredSize()));

                    //---- a2 ----
                    a2.setText("text");
                    searchUserPanel.add(a2);
                    a2.setBounds(185, 75, 120, a2.getPreferredSize().height);

                    //---- a3 ----
                    a3.setText("text");
                    searchUserPanel.add(a3);
                    a3.setBounds(185, 105, 135, a3.getPreferredSize().height);

                    //---- label18 ----
                    label18.setText("Last Borrow Activity  :");
                    searchUserPanel.add(label18);
                    label18.setBounds(20, 135, 145, label18.getPreferredSize().height);

                    //---- a4 ----
                    a4.setText("text");
                    searchUserPanel.add(a4);
                    a4.setBounds(185, 135, 130, a4.getPreferredSize().height);

                    { // compute preferred size
                        Dimension preferredSize = new Dimension();
                        for (int i = 0; i < searchUserPanel.getComponentCount(); i++) {
                            Rectangle bounds = searchUserPanel.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 = searchUserPanel.getInsets();
                        preferredSize.width += insets.right;
                        preferredSize.height += insets.bottom;
                        searchUserPanel.setMinimumSize(preferredSize);
                        searchUserPanel.setPreferredSize(preferredSize);
                    }
                }
                userTapPanel.add(searchUserPanel);
                searchUserPanel.setBounds(35, 15, 325, 220);

                //======== userEntryPanel ========
                {
                    userEntryPanel.setBorder(new TitledBorder("Personal Information"));
                    userEntryPanel.setLayout(new GridLayout(6, 4));

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

                    //---- userEntryfNameText ----
                    userEntryfNameText.setEditable(false);
                    userEntryPanel.add(userEntryfNameText);

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

                    //---- userEntrylNameText ----
                    userEntrylNameText.setEditable(false);
                    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);
                }
                userTapPanel.add(userEntryPanel);
                userEntryPanel.setBounds(30, 245, 785, 210);

                //---- changePersonButton ----
                changePersonButton.setText("Change Personal Info");
                changePersonButton.addActionListener(new ActionListener() {
                    @Override
                    public void actionPerformed(ActionEvent e) {
                        changePersonButtonActionPerformed(e);
                    }
                });
                userTapPanel.add(changePersonButton);
                changePersonButton.setBounds(530, 465, 185, 30);

                //======== searchUserPanel2 ========
                {
                    searchUserPanel2.setBorder(new TitledBorder("Borrowed Book Information"));
                    searchUserPanel2.setLayout(null);

                    //---- label13 ----
                    label13.setText("Book Title");
                    label13.setHorizontalAlignment(SwingConstants.CENTER);
                    searchUserPanel2.add(label13);
                    label13.setBounds(6, 23, 151, 25);

                    //---- label14 ----
                    label14.setText("Borrowed Date");
                    label14.setPreferredSize(new Dimension(70, 16));
                    label14.setHorizontalAlignment(SwingConstants.CENTER);
                    searchUserPanel2.add(label14);
                    label14.setBounds(215, 23, 100, 25);

                    //---- label15 ----
                    label15.setText("Due");
                    label15.setHorizontalAlignment(SwingConstants.CENTER);
                    searchUserPanel2.add(label15);
                    label15.setBounds(315, 23, 113, 25);

                    //---- title1 ----
                    title1.setEditable(false);
                    title1.setHorizontalAlignment(SwingConstants.LEFT);
                    searchUserPanel2.add(title1);
                    title1.setBounds(6, 48, 204, 33);

                    //---- date1 ----
                    date1.setEditable(false);
                    date1.setPreferredSize(new Dimension(70, 16));
                    searchUserPanel2.add(date1);
                    date1.setBounds(210, 48, 105, 33);

                    //---- due1 ----
                    due1.setEditable(false);
                    searchUserPanel2.add(due1);
                    due1.setBounds(315, 48, 113, 33);

                    //---- title2 ----
                    title2.setEditable(false);
                    title2.setHorizontalAlignment(SwingConstants.LEFT);
                    searchUserPanel2.add(title2);
                    title2.setBounds(6, 81, 204, 33);

                    //---- date2 ----
                    date2.setEditable(false);
                    date2.setPreferredSize(new Dimension(70, 16));
                    searchUserPanel2.add(date2);
                    date2.setBounds(210, 81, 105, 33);

                    //---- due2 ----
                    due2.setEditable(false);
                    searchUserPanel2.add(due2);
                    due2.setBounds(315, 81, 113, 33);

                    //---- title3 ----
                    title3.setEditable(false);
                    title3.setHorizontalAlignment(SwingConstants.LEFT);
                    searchUserPanel2.add(title3);
                    title3.setBounds(6, 114, 204, 33);

                    //---- date3 ----
                    date3.setEditable(false);
                    date3.setPreferredSize(new Dimension(70, 16));
                    searchUserPanel2.add(date3);
                    date3.setBounds(210, 114, 105, 33);

                    //---- due3 ----
                    due3.setEditable(false);
                    searchUserPanel2.add(due3);
                    due3.setBounds(315, 114, 113, 33);

                    //---- title4 ----
                    title4.setEditable(false);
                    title4.setHorizontalAlignment(SwingConstants.LEFT);
                    searchUserPanel2.add(title4);
                    title4.setBounds(6, 147, 204, 33);

                    //---- date4 ----
                    date4.setEditable(false);
                    date4.setPreferredSize(new Dimension(70, 16));
                    searchUserPanel2.add(date4);
                    date4.setBounds(210, 147, 105, 33);

                    //---- due4 ----
                    due4.setEditable(false);
                    searchUserPanel2.add(due4);
                    due4.setBounds(315, 147, 113, 33);

                    //---- title5 ----
                    title5.setEditable(false);
                    title5.setHorizontalAlignment(SwingConstants.LEFT);
                    searchUserPanel2.add(title5);
                    title5.setBounds(6, 180, 204, 33);

                    //---- date5 ----
                    date5.setEditable(false);
                    date5.setPreferredSize(new Dimension(70, 16));
                    searchUserPanel2.add(date5);
                    date5.setBounds(210, 180, 105, 33);

                    //---- due5 ----
                    due5.setEditable(false);
                    searchUserPanel2.add(due5);
                    due5.setBounds(315, 180, 113, 33);

                    { // compute preferred size
                        Dimension preferredSize = new Dimension();
                        for (int i = 0; i < searchUserPanel2.getComponentCount(); i++) {
                            Rectangle bounds = searchUserPanel2.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 = searchUserPanel2.getInsets();
                        preferredSize.width += insets.right;
                        preferredSize.height += insets.bottom;
                        searchUserPanel2.setMinimumSize(preferredSize);
                        searchUserPanel2.setPreferredSize(preferredSize);
                    }
                }
                userTapPanel.add(searchUserPanel2);
                searchUserPanel2.setBounds(370, 15, 435, 220);
            }
            mainPanel.addTab("Account Information", userTapPanel);
        }
        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
    }

    // JFormDesigner - Variables declaration - DO NOT MODIFY  //GEN-BEGIN:variables
    // Generated using JFormDesigner Evaluation license - David Park
    private JPanel bannerPanel;
    private JButton logOutbutton;
    private JLabel bannerLabel;
    private JLabel label2;
    private JLabel label3;
    private JTabbedPane mainPanel;
    private JPanel bookTapPane;
    private JPanel searchBookPanel;
    private JLabel searchTitle;
    private JTextField searchTitleField;
    private JButton searchTitleButton;
    private JLabel searchAuthor;
    private JTextField searchAuthorField;
    private JButton searchAuthorButton;
    private JLabel searchTopic;
    private JTextField searchTopicText;
    private JButton searchTopicButton;
    private JPanel bookEntryPanel;
    private JLabel bookEntryTitle;
    private JTextField bookEntryTitleText;
    private JLabel bookEntryAuthoer;
    private JTextField bookEntryAuthorText;
    private JLabel bookEntryISBN;
    private JTextField bookEntryISBNText;
    private JLabel bookEntryPublic;
    private JTextField bookEntryPublicText;
    private JLabel bookEntryGenre;
    private JComboBox bookEntryGenreCom;
    private JLabel bookEntrySubject;
    private JComboBox bookEntrySubjectCom;
    private JLabel bookEntryDetail;
    private JTextField bookEntryDetailText;
    private JLabel bookEntryStatus;
    private JComboBox bookEntryStatusCom;
    private JButton burrowBookButton;
    private JButton requestBookButton;
    private JPanel navigationBookPane;
    private JButton previousBookButton;
    private JTextField currentBookIndex;
    private JLabel bookOflabel;
    private JTextField maxIndexBook;
    private JButton nextBookButton;
    private JPanel userTapPanel;
    private JPanel searchUserPanel;
    private JLabel label1;
    private JLabel a1;
    private JLabel a5;
    private JLabel label11;
    private JLabel label12;
    private JLabel a2;
    private JLabel a3;
    private JLabel label18;
    private JLabel a4;
    private JPanel userEntryPanel;
    private JLabel userEntryfName;
    private JTextField userEntryfNameText;
    private JLabel userEntrylname;
    private JTextField userEntrylNameText;
    private JLabel userEntryPwd;
    private JPasswordField passwordField1;
    private JLabel userEntryPhone;
    private JTextField userEntryPhoneText;
    private JLabel userEntryEmai;
    private JTextField userEntryEmailText;
    private JLabel userEntryAdress;
    private JTextField userEntryAdressText;
    private JButton changePersonButton;
    private JPanel searchUserPanel2;
    private JLabel label13;
    private JLabel label14;
    private JLabel label15;
    private JTextField title1;
    private JTextField date1;
    private JTextField due1;
    private JTextField title2;
    private JTextField date2;
    private JTextField due2;
    private JTextField title3;
    private JTextField date3;
    private JTextField due3;
    private JTextField title4;
    private JTextField date4;
    private JTextField due4;
    private JTextField title5;
    private JTextField date5;
    private JTextField due5;
    // JFormDesigner - End of variables declaration  //GEN-END:variables
}