Sample Project

S.1 INTRODUCTION

Many a times need arises to reduce the workload of any institutional library. To achieve this a software for library management system called 'Library System' has been implemented. This software has an architecture that provides several facilities for the employees of the library. Also, this software works efficiently for the members in issuing, giving details about the types of books available in the library and returning the books.

The project covers the details about the following functions:

images Borrowing books

images Transaction records

images Add members

images Add books

images Search the title

images Returning books

images Important notes

images Designed by

S.2 CODING

/*FILE : TIMERTIEM.JAVA*/
import java.util.Timer;
import java.util.TimerTask;
import javax.swing.JLabel;
import java.util.Calendar;
import java.util.Date;
import java.text.DateFormat;
import javax.swing.JLabel;
import java.awt.*;
import java.awt.event.*;
  public class TimerTime 
{    Timer timer;
     Calendar cal;
     Date date;
     DateFormat dateFormatter;
     /* Constructor used for running example main.*/
     public TimerTime(boolean visible,JLabel label,int seconds)
     {
        timer = new Timer();
     timer.scheduleAtFixedRate(new DoTime(visible,label),0,
                               seconds*1000);
     }
/* Constructor used for creating class in another
      application */
public TimerTime(int seconds)
{
   this(new JLabel(),seconds);
}
public TimerTime()
{
   this(new JLabel(),1);
}
public TimerTime(JLabel label)
{
this(label, 1);
}
public TimerTime(JLabel label, int seconds)
{
   timer = new Timer();
   timer.scheduleAtFixedRate(new DoTime(label),0, seconds*1000);
}
class DoTime extends TimerTask
{
   JLabel label = new JLabel();
   boolean visible = false;
   public DoTime(){}
   public DoTime(boolean visible, JLabel label)
   {
          this.label = label;
          this.visible = visible;
   }
   public DoTime(JLabel label){this.label = label;
}
public void run()
{
   cal = Calendar.getInstance();
   date = cal.getTime();
   dateFormatter = DateFormat.getTimeInstance();
   label.setText(dateFormatter.format(date));
}
public void timerCancel()

{
   timer.cancel();
}
public void timerCancel()
 {
   timer.cancel();
   }
}
/*FILE: MEMBER.JAVA */
public class Member
{
   String MemberName, MemberID, MemAddress, MemberIC;
   int MemberAge, MemPhone, BookCount;

   Member(String Name, int Age, String IC, String
          Address, int Telephone, int Count)
   {
          MemberName = Name;
          MemberAge = Age;
          MemberIC = IC;
          MemAddress = Address;
          MemPhone = Telephone;
          MemberID = IC;
          BookCount = Count;
   }
          public String getName()
   {
          return MemberName;
   }
   public int getAge()
   {
          return MemberAge;
   }
   public String getIC()
   {
          return MemberIC;
   }
   public String getAddress()
   {
          return MemAddress;
   }
   public int getPhone()
   {
          return MemPhone;
   }
   public String getMemberID()
   {
          return MemberID;
   }
   public int getBookCount()
   {
          return BookCount;
   }
   public void IncreaseBookCount()
   {
          BookCount++;
   }
   public void DecreaseBookCount()
   {
          BookCount--;
   }
}
/*FILE: FACTORYTRANSACTION.JAVA */
import javax.swing.*;
import java.awt.*;
import java.text.*;

public class FactoryTransaction
{
   Transaction[] t;
   int i = 0;
   int j;
   DecimalFormat df = new DecimalFormat("##0.00");
   public FactoryTransaction()
   {
          t = new Transaction[1000];
   }
   public void CreateBookTrans(String MemberID, int
          BookID, int BDate, int RDate, double Cost)
   {t[getTransIDSize()] = new Transaction(MemberID,
                          BookID, BDate, RDate, Cost);
   }
   public int getTransIDSize()
   {
          while (t[i] != null)
          {
                   i++;
          }
          return i;
   }
   public void getIDDetails (String ID)
   {
          JPanel p1 = new JPanel();
          p1.setLayout(new GridLayout(28,0));
          for(int j = 0; j <= getTransIDSize()-1; j++)
            {
                 if(ID.equals(t[j].getTransMemberID()))
                 {
                 p1.setBorder(BorderFactory.createTitledBorder
                       ("Transaction Details:"));
                  JLabel ddd = new JLabel("=============
                                         ===========");
   JLabel tid = new JLabel("Transaction ID : "+(j+1));
   JLabel mid = new JLabel("Member ID : "+t[j].
                          getTransMemberID());
   JLabel bid = new JLabel("Book ID : "+t[j].
                          getTransMBookID());
   JLabel dob = new JLabel("Date of Borrow : "+t[j].
                          getBDate());
   JLabel dod = new JLabel("Date of Return : "+t[j].
                          getRDate());
   p1.add(tid);
   p1.add(mid);
   p1.add(bid);
   p1.add(dob);
   p1.add(dod);
   if(t[j].getRDate() == 0)
   {
          JLabel bs = new JLabel("Book Has Not been
                                 Returned");
          p1.add(bs);
   }
   else
   {
          if (t[j].calculateCost(t[j].getRDate()) < 0.00)
          {
           JLabel f = new JLabel("No Fines Aquired");
           p1.add(f);
          }
          else
          {
            JLabel f1 = new JLabel("Fine Issued : $"
            +df.format(t[j].calculateCost(t[j].getRDate())));
            p1.add(f1);
          }
     }
      p1.add(ddd);
    }
   }
   JOptionPane.showMessageDialog(null,p1,"Transaction
          Record",JOptionPane.INFORMATION_MESSAGE);
}
public String UpdateBookTransaction(int BookID,int
                                    DateReturned)

{
      JPanel p2 = new JPanel();
      p2.setLayout(new GridLayout(6,6));
      for(int j = 0; j <= getTransIDSize()-1; j++)
      {
         if(BookID==t[j].getTransMBookID()&&t[j].getRDate()==0)
         {
            p2.setBorder(BorderFactory.createTitledBorder
            ("Transaction Details of Transaction ID:"+(j+1)));
            JLabel tid1 = new JLabel("Transaction ID :"+(j+1));
            JLabel mid1 = new JLabel("Member ID : "+t[j].
                                       getTransMemberID());
            JLabel bid1 = new JLabel("Book ID : "+t[j].
                                       getTransMBookID());
            JLabel dob1 = new JLabel("Date of Borrow : "+t[j].
                                       getBDate());
            JLabel dod1 = new JLabel("Date of Return : "+t[j].
                                       setRDate(DateReturned));
            p2.add(tid1);
            p2.add(mid1);
            p2.add(bid1);
            p2.add(dob1);
            p2.add(dod1);
            if (t[j].calculateCost(DateReturned) < 0.50)
            {
                  JLabel fine = new JLabel("No Fines Aquired");
                  p2.add(fine);
            }
      else
      {
         JLabel fine1 = new JLabel("Fine Issued : $"+df.
            format(t[j].calculateCost(DateReturned)));
         p2.add(fine1);
      }
   }
}
JOptionPane.showMessageDialog(null,p2,"Transaction
            Record",JOptionPane.INFORMATION_MESSAGE);
      return t[j].getTransMemberID();
      }
}
/*FILE: FACTORYMEMBER.JAVA */
import java.text.*;
public class Transaction
{
   String MemberID2 ;
   int BookID2, DateB, DateR;
   double Cost1;
   public Transaction(String MemberID, int BookID, int
                       BDate, int RDate, double Cost) {
   MemberID2 = MemberID;
   BookID2 = BookID;
   DateB = BDate;
   DateR = RDate;
   Cost1 = Cost;
}
   public String getTransMemberID()
   {
          return MemberID2;
   }
   public int getTransMBookID()
   {
          return BookID2;
   }
   public int getBDate()
   {
          return DateB;
   }
   public double getCost()
   {
          return Cost1;
   }
   public int setRDate(int ReturnedDate)
   {
      DateR = ReturnedDate;
      return DateR;
   }
   public int getRDate()
   {
      return DateR;
   }
   public double calculateCost(int ReturnedDate)
   {
      Cost1 = (((ReturnedDate-getBDate())-14)*0.10);
      return Cost1;
   }
}
/*FILE: FACTORYBOOK.JAVA*/
import javax.swing.*;
import java.awt.*;
public class FactoryMember
{
   Member[] m;
   private int i = 0;
   private int y = 0;
   private int z;
         public FactoryMember()
   {
          m = new Member[50];
   m[0]=new Member("Hari Mohan Pandey",27, "FF0209",
    "SVKM's NMIMS University Shirpur", 7542473, 0);
   m[1]=new Member("Shreedhar Deshmukh", 30, "FF0210",
    "SVKM's NMIMS University Shirpur", 8997598, 0);
   m[2] = new Member("Sonali Borse", 23, "FF0211",
    "SVKM's NMIMS University Shirpur", 5611300, 0);
   m[3] = new Member("Soniya Relan", 25, "FF0212",
    "SVKM's NMIMS University Shirpur", 2438973, 0);
   m[4] = new Member("Malvika Sharma", 35, "FF0213",
    "SVKM's NMIMS University Shirpur", 3103109, 0);
   m[5] = new Member("Yogesh Choudhary", 26, "FF0214",
    "SVKM's NMIMS University Shirpur", 7861194, 0);
   m[6] = new Member("Priya Nath", 20, "FF0215",
    "SVKM's NMIMS University Shirpur", 5844182, 0);
   m[7] = new Member("Drisha Trivedi",20, "FF0216",
    "SVKM's NMIMS University Shirpur", 7486555, 0);
   m[8] = new Member("Apoorva Sharma", 20, "FF0217",
    "SVKM's NMIMS University Shirpur", 97489129, 0);
   m[9] = new Member("Manali Kapadia", 20, "FF0218",
     "SVKM's NMIMS University Shirpur", 2866027, 0);
   }
   public int getMemberSize()
   {
          while (m[i] != null) {
                   i++;
          }
          return i;
   }
   public void getStatsUsingName(String Name)
   {
          for(int j = 0; j <= getMemberSize()-1; j++)
          {
           if(Name.equalsIgnoreCase(m[j].getName()))
           {
                JPanel p1 = new JPanel();
                p1.setLayout(new GridLayout(7,7));
                JLabel mnl = new JLabel("Name : ");
                JTextField mnt = new JTextField
                                    (""+m[j].getName());
                mnt.setEditable(false);
                JLabel mal = new JLabel("Age : ");
                JTextField mat = new JTextField
                                    (""+m[j].getAge());
                mat.setEditable(false);
                JLabel micl = new JLabel("IC No : ");
                JTextField mict = new JTextField
                                    (""+m[j].getIC());
                mict.setEditable(false);
                JLabel madl = new JLabel("Address : ");
                JTextField madt = new JTextField
                                    (""+m[j].getAddress());
                madt.setEditable(false);
                JLabel mtl=new JLabel("Telelphone number ");
                JTextField mtt = new JTextField
                                    (""+m[j].getPhone());
                mtt.setEditable(false);
                JLabel midl = new JLabel("Member ID : ");
                JTextField midt = new JTextField
                                    (""+m[j].getMemberID());
                midt.setEditable(false);
                JLabel mbcl=new JLabel("Book Counts : ");
                JTextField mbct = new JTextField
                                    (""+m[j].getBookCount());
                mbct.setEditable(false);
                p1.add(mnl);
                p1.add(mnt);
                p1.add(mal);
                p1.add(mat);
                p1.add(micl);
                p1.add(mict);
                p1.add(madl);
                p1.add(madt);
                p1.add(mtl);
                p1.add(mtt);
                p1.add(midl);
                p1.add(midt);
                p1.add(mbcl);
                p1.add(mbct);
      JOptionPane.showMessageDialog(null,p1,"Member Record",
                          JOptionPane.INFORMATION_MESSAGE
            }
          }
      }
      public void getStatsUsingIC (String IC)
      {
            for(int j = 0; j <= getMemberSize()-1; j++)
      {
            if(IC.equalsIgnoreCase(m[j].getIC()))
            {
                JPanel p2 = new JPanel();
                p2.setLayout(new GridLayout(7,7));
                JLabel mnl2 = new JLabel("Name : ");
                JTextField mnt2 = new JTextField(""+m[j].
                                  getName());
                mnt2.setEditable(false);
                JLabel mal2 = new JLabel("Age : ");
                JTextField mat2 = new JTextField(""+m[j].
                   getAge());
                mat2.setEditable(false);
                JLabel micl2 = new JLabel("IC No : ");
                JTextField mict2 = new JTextField(""+m[j].
                                   getIC());
                mict2.setEditable(false);
                JLabel madl2 = new JLabel("Address : ");
                JTextField madt2 = new JTextField
                                   (""+m[j].getAddress());
                madt2.setEditable(false);
                JLabel mtl2 = new JLabel("Telelphone
                                       number : ");
                JTextField mtt2 = new JTextField(""+m[j].
                                       getPhone());
                mtt2.setEditable(false);
                JLabel midl2 = new JLabel("Member ID : ");
                JTextField midt2 = new JTextField
                                    (""+m[j].getMemberID());
                midt2.setEditable(false);
                JLabel mbcl2 = new JLabel("Book Counts : ");
                JTextField mbct2 = new JTextField
                                    (""+m[j].getBookCount());
                mbct2.setEditable(false);
                p2.add(mnl2);
                p2.add(mnt2);
                p2.add(mal2);
                p2.add(mat2);
                p2.add(micl2);
                p2.add(mict2);
                p2.add(madl2);
                p2.add(madt2);
                p2.add(mtl2);
                p2.add(mtt2);
                p2.add(midl2);
                p2.add(midt2);
                p2.add(mbcl2);
                p2.add(mbct2);
JOptionPane.showMessageDialog(null,p2,"Member Record",
                    JOptionPane.INFORMATION_MESSAGE);
          }
    }
}
public void addMember(String Name, int Age, String IC, String
                      Address, int Telephone)
{
    m[getMemberSize()]=new Member (Name,Age,IC,Address,
                                   Telephone,0);
}
public int getMemberBookCount(String MemberID)
{
    for(int j = 0; j <= getMemberSize()-1; j++)
    {
            if(MemberID.equals(m[j].getIC()))
            {
            y = m[j].getBookCount();
    }
}
    return y;
}
public void UpdateBookCount (String MemberID)
{
    for(int j = 0; j <= getMemberSize()-1; j++)
    {
    if(MemberID.equals(m[j].getIC()))
    {
        m[j].IncreaseBookCount();
    }
    }
}
public void ReturnBookCount (String MemberID)
{
    for(int j = 0; j <= getMemberSize()-1; j++)
    {
       if(MemberID.equals(m[j].getIC()))
    {
                 m[j].DecreaseBookCount();
             }
       }
    }
}
/*FILE: FACTORYBOOK.JAVA*/
import java.awt.*;
import javax.swing.*;

public class FactoryBook
{
   Books[] B;
   private int i = 0,count;
         private String z;
   public FactoryBook()
   {
      B = new Books[100];
      B[0] = new Books("Design Analysis And Algorithms"
             ,"Hari Mohan Pandey", "University Science
             Press", 1, "Avalible");
      B[1] = new Books("Design Analysis And Algorithms"
             ,"Hari Mohan Pandey", "University Science
             Press", 2, "Avalible");
      B[2] = new Books("Design Analysis And Algorithms"
             ,"Hari Mohan Pandey", "University Science
             Press", 3, "Avalible");
      B[3] = new Books("Trouble Free C", "Hari Mohan
             Pandey"
             ,"University Science Press", 4, "Avalible");
      B[4]=  new Books("Trouble Free C", "Hari Mohan
             Pandey"
             ,"University Science Press", 5, "Avalible");
      B[5]=  new Books("Trouble Free C", "Hari Mohan
             Pandey"
             ,"University Science Press", 4, "Avalible");
      B[6] = new Books("Data Structure And Algorithms",
             "Hari Mohan Pandey", "University Science
               Press"  , 7, "Avalible");
      B[7] = new Books("Data Structure And Algorithms",
             "Hari Mohan Pandey", "University Science
             Press", 8, "Avalible");
      B[8] = new Books("Data Structure And Algorithms",
             "Hari Mohan Pandey", "University Science
             Press", 9, "Avalible");
B[9]  = new Books("Trouble Free C++", "Hari Mohan
        Pandey", "Ane Book ", 10, "Avalible");
B[10] = new Books("Trouble Free C++", "Hari Mohan
        Pandey", "Ane Book ", 11, "Avalible");
B[11] = new Books("Trouble Free C++", "Hari Mohan
        Pandey", "Ane Book ", 12, "Avalible");
B[12] = new Books("Sea of Java", "Hari Mohan Pandey",
        "Pearson Education", 13, "Avalible");
B[13] = new Books("Sea of Java", "Hari Mohan Pandey",
        "Pearson Education", 14, "Avalible");
B[14] = new Books("Sea of Java", "Hari Mohan Pandey",
        "Pearson Education", 13, "Avalible");
B[15] = new Books("Java How To Program", "Deitel,
        Harvey M./ Deitel, Paul J.", "Prentice Hall ",
        16, "Avalible");
B[16] = new Books("Java How To Program", "Deitel,
        Harvey M./ Deitel, Paul J.", "Prentice Hall ",
        17, "Avalible");
B[17] = new Books("Java How To Program", "Deitel,
        Harvey M./ Deitel, Paul J.", "Prentice Hall ",
        18, "Avalible");
B[18] = new Books("C++ How To Program", "Deitel, H.
        M./ Deitel, P. J.", "Prentice Hall ", 19,
        "Avalible");
B[19] = new Books("C++ How To Program", "Deitel, H.
        M./ Deitel, P. J.", "Prentice Hall ", 20,
        "Avalible");
B[20] = new Books("C++ How To Program", "Deitel, H.
        M./ Deitel, P. J.", "Prentice Hall ", 21,
        "Avalible");
B[21] = new Books("Flash 5 Visual Jumpstart",
        "Hartman, Patricia A./ Hartman", "Sybex",
        22, "Avalible");
B[22] = new Books("Flash 5 Visual Jumpstart",
        "Hartman, Patricia A./ Hartman", "Sybex",
        23, "Avalible");
B[23] = new Books("Flash 5 Visual Jumpstart",
        "Hartman, Patricia A./ Hartman", "Sybex",
        24, "Avalible");
B[24] = new Books("Inside the Adobe Photoshop 6
        Studio", "Mullin, Eileen", "Prima
        Publications ", 25, "Avalible");
B[25] = new Books("Inside the Adobe Photoshop 6
        Studio", "Mullin, Eileen", "Prima
        Publications ", 26, "Avalible");
B[26] = new Books("Inside the Adobe Photoshop 6
        Studio", "Mullin, Eileen", "Prima
        Publications ", 27, "Avalible");
B[27] = new Books("Adobe Photoshop 6.0 Web Design ",
        "Baumgardt, Michael", "Adobe Press", 28,
        "Avalible");
      B[28] = new Books("Adobe Photoshop 6.0 Web Design ",
              "Baumgardt, Michael", "Adobe Press", 29,
              "Avalible");
      B[29] = new Books("Adobe Photoshop 6.0 Web Design ",
              "Baumgardt, Michael", "Adobe Press", 30,
              "Avalible");
      count = getBookSize();
   }
   public int getBookSize() {
          while (B[i] != null) {
          i++;
          }
          return i;
   }
public void getStatsUsingBName(String Name) {
     for(int j = 0; j <= getBookSize()-1; j++) {
          if(Name.equalsIgnoreCase( B[j].getName()))
{
          JPanel p1 = new JPanel();
          p1.setLayout(new GridLayout(5,5));
          JLabel bnl = new JLabel("Book Name : ");
          JTextField bnt = new
                           JTextField(""+B[j].getName());
          bnt.setEditable(false);
          JLabel bal = new JLabel("Book Author : ");
          JTextField bat = new JTextField
                           (""+B[j].getAuthor());
          bat.setEditable(false);
          JLabel bpl = new JLabel("Book Publisher : ");
          JTextField bpt = new JTextField
                           (""+B[j].getPublisher());
          bpt.setEditable(false);
          JLabel bidl = new JLabel("Book ID : ");
          JTextField bidt = new JTextField
                            (""+B[j].getID());
          bidt.setEditable(false);
          JLabel bsl = new JLabel("Book Status : ");
          JTextField bst = new JTextField
                           (""+B[j].getStatus());
          bst.setEditable(false);
          p1.add(bnl);
          p1.add(bnt);
          p1.add(bal);
          p1.add(bat);
          p1.add(bpl);
          p1.add(bpt);
          p1.add(bidl);
          p1.add(bidt);
          p1.add(bsl);
          p1.add(bst);
          JOptionPane.showMessageDialog(null,p1,"Book
          Record",JOptionPane.INFORMATION_MESSAGE);
          }
   }
}
public void getStatsUsingID (int ID) {
//######################ID is invalid####################
   if(ID >getBookSize()){
   JOptionPane.showMessageDialog(null,"Book not Found. The
   BookID you have entered is invalid","Book not
   Found",JOptionPane.ERROR_MESSAGE);
}

//########check for books in the available books######
         for(int j = 0; j <= getBookSize()-1; j++) {
                   if(ID == B[j].getID()){
//##############################################

                 JPanel p1id = new JPanel();
                 p1id.setLayout(new GridLayout(5,5));
   JLabel     idbnl = new JLabel("Book Name        : ");
   JTextField idbnt = new JTextField(""+B[j].getName());
                      idbnt.setEditable(false);
   JLabel idbal = new JLabel("Book Author : ");
   JTextField idbat = new JTextField
                      (""+B[j].getAuthor());
   idbat.setEditable(false);
   JLabel idbpl = new JLabel("Book Publisher : ");
   JTextField idbpt = new JTextField
                      (""+B[j].getPublisher());
   idbpt.setEditable(false);
   JLabel idbidl = new JLabel("Book ID : ");
   JTextField idbidt = new JTextField(""+B[j].getID());
   idbidt.setEditable(false);
   JLabel idbsl = new JLabel("Book Status : ");
   JTextField idbst = new JTextField
                      (""+B[j].getStatus());
   idbst.setEditable(false);
   p1id.add(idbnl);
   p1id.add(idbnt);
   p1id.add(idbal);
   p1id.add(idbat);
   p1id.add(idbpl);
   p1id.add(idbpt);
   p1id.add(idbidl);
   p1id.add(idbidt);
   p1id.add(idbsl);
   p1id.add(idbst);
JOptionPane.showMessageDialog(null,p1id,"Book Record"
                       ,JOptionPane.INFORMATION_MESSAGE);
//#########################################################
          }
   }
}
public void addBook(String BName, String BAuthor, String
BPublisher,int BID) {
 B[getBookSize()] = new Books(BName, BAuthor, BPublisher,
 BID, "Avalible");
}
public void setBorrowStatus(int ID) {
   for(int j = 0; j <= getBookSize()-1; j++) {
          if(ID == B[j].getID())
          {
                 B[j].setBorrowStatus();
          }
   }
}
public void setReturnStatus(int ID) {
   for(int j = 0; j <= getBookSize()-1; j++) {
          if(ID == B[j].getID())
          {
                B[j].setReturnStatus();
          }
   }
}
public String getBookStatus(int BookID) {
   for(int j = 0; j <= getBookSize()-1; j++) {
         if(BookID == B[j].getID())
         {
               z = B[j].getStatus();
         }
   }
   return z;
}
}
/*FILE: CONTROLLER.JAVA*/
import javax.swing.*;
import java.awt.*;

public class Controller
{
   private int Count = 0;
   FactoryMember fm;
   FactoryBook bm;
   FactoryTransaction ft;
   JPanel p1 = new JPanel();
   JPanel p2 = new JPanel();
   JTextField bsct = new JTextField();
   JTextField bsct1 = new JTextField();
   JTextField nobt = new JTextField();
   public Controller() {
          fm = new FactoryMember();
          bm = new FactoryBook();
          ft = new FactoryTransaction();
//****************************************************
   p1.setLayout(new GridLayout(5,0));
   JLabel nob = new JLabel("No. of Books Member   Borrowed : ");
   JLabel bsc = new JLabel("Book Status Changed to : ");
   JLabel bbc = new JLabel("Book Borrow Confirmed");
   bsct.setEditable(false);
   nobt.setEditable(false);
   p1.add(nob);
   p1.add(nobt);
   p1.add(bsc);
   p1.add(bsct);
   p1.add(bbc);
//******************************************************
   p2.setLayout(new GridLayout(3,0));
   JLabel bsc1 = new JLabel("Book Status Changed to : ");
   JLabel bbc1 = new JLabel("Book Return Confirmed");
   bsct1.setEditable(false);
   p2.add(bsc1);
   p2.add(bsct1);
   p2.add(bbc1);
}
public void ControllerNameRetrieve(String Name)
{
   fm.getStatsUsingName(Name);

}
//***************************************************
public void ControllerICRetrieve(String IC)
{
    fm.getStatsUsingIC(IC);
}
//***************************************************
public void ControllerAddMember(String Name, int Age, String
IC, String Address, int Telephone)
{
    fm.addMember(Name,Age,IC,Address,Telephone);
}
public void ControllerBookNameRetrieve(String BName) {
    bm.getStatsUsingBName(BName);
}
public void ControllerBookIDRetrieve(int ID) {
    bm.getStatsUsingID(ID);
}
public void ControllerAddBook(String BName, String BAuthor,
String BPublisher, int BID) {
    bm.addBook(BName, BAuthor, BPublisher, BID);
}
public void BorrowBook(String MemberID, int BookID, int
DateBorrowed) {
    if(fm.getMemberBookCount(MemberID) == 4 )
      {
          JOptionPane.showMessageDialog(null,"You have
          reached the maximum no of books
 that you can
          borrow" ,"No of book limits reached",
          JOptionPane.INFORMATION_MESSAGE);
}
else if(bm.getBookStatus(BookID).equals("Unavalible"))
{
    JOptionPane.showMessageDialog(null,"The Book was out
    of library" ,"Book not Available"
    ,JOptionPane.INFORMATION_MESSAGE);
}
else if (fm.getMemberBookCount(MemberID) < 4 && bm
          .getBookStatus(BookID).equals("Avalible"))
{
fm.UpdateBookCount(MemberID);
bm.setBorrowStatus(BookID);
ft.CreateBookTrans(MemberID,BookID,DateBorrowed, 0,   0.0);
//------------------------------------------------
   bsct.setText(bm.getBookStatus(BookID));
   nobt.setText(""+fm.getMemberBookCount(MemberID));
//-----------------------------------------------
JOptionPane.showMessageDialog(null,p1,"Member's Status",
                       JOptionPane.INFORMATION_MESSAGE);
   }
}
public void ReturnBook(int BookID, int DateReturned) {
         bm.setReturnStatus(BookID);
    fm.ReturnBookCount(ft.UpdateBookTransaction(BookID,
                        DateReturned));
//------------------------------------------------
// bsct1.setText(""+bm.getBookStatus(BookID));
//-------------------------------------------
//JOptionPane.showMessageDialog(null,p2," Status of Book No
"+BookID,JOptionPane.INFORMATION_MESSAGE);
}
public void checkTrans(String MemberID) {
   ft.getIDDetails(MemberID);
}
}
/*FILE: BOOKS.JAVA*/
public class Books
{
   String BookName,BookAuthor, BookPublisher,BookStatus;
   int BookID;

   Books(String BName, String BAuthor, String BPublisher,
   int BID,String BStatus)
   {
          BookName = BName;
          BookAuthor = BAuthor;
          BookPublisher = BPublisher;
          BookID = BID;
          BookStatus = BStatus;
   }
   public String getName()
   {
          return BookName;
   }
   public String getAuthor()
   {
          return BookAuthor;
   }
   public int getID()
   {
          return BookID;
   }
   public String getPublisher()
   {
          return BookPublisher;
   }
   public String getStatus()
   {
          return BookStatus;
   }
   public void setBorrowStatus()
   {
          BookStatus = "Unavalible";
   }
   public void setReturnStatus()
   {
          BookStatus = "Avalible";
   }
}
/********************************************************/
/***** Subject : SEA OF JAVA *****************/
/********** Project : Library System ************/
/***********Name : HARI MOHAN PANDEY ***********/
/*******************************************************/
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.text.*;
import java.util.*;
//#########################################################
public class GUI extends JFrame
{
   Controller c = new Controller();
   JTabbedPane tpane = new JTabbedPane();
/*-----------Components used in add member --------------*/
   JPanel AddMemberPanel,AddMemberPanel1;
   JLabel AddMemberNameLabel,AddAgeLabel,AddICLabel,
          AddAddressLabel,AddMemberTelLabel;
   JTextField AddMemberNameField,AddAgeField,AddICField,
          AddAddressField,AddMemberTelField;
   JButton AddMemberButton;
/*------------Components used in add book --------------*/
   JPanel AddBookPanel,AddBookPanel1;
   JLabel AddBookNameLabel,AddBookPublisherLabel,
          AddBookAuthorLabel,AddBookIDLabel;
   JTextField AddBookNameField, AddBookPublisherField,
          AddBookAuthorField,AddBookIDField;
   JButton AddBookButton;
/*--------------Components used in search books --------*/
   JPanel SearchBookPanel;
   JLabel SearchBookIDLabel;
   JTextField SearchBookIDField;
   JButton SearchBookButton;
   JPanel SearchBook1Panel;
   JLabel SearchBook1IDLabel;
   JTextField SearchBook1IDField;
   JButton SearchBook1Button;
/*--------------------Components used in search members -----
----------------------------*/
   JPanel SearchMemberPanel;
   JLabel SearchMemberIDLabel;
   JTextField SearchMemberIDField;
   JButton SearchMemberButton;

   JPanel SearchMember1Panel;
   JLabel SearchMember1IDLabel;
   JTextField SearchMember1IDField;
   JButton SearchMember1Button;
/*-------------Components used in returning books -------*/
   JPanel ReturnPanel,ReturnPanel1;
   JLabel ReturnDateLabel, ReturnMemberIDLabel;
   JTextField ReturnDateField, ReturnBookIDField;
   JButton ReturnDateButton;

/*--------Components used in borrowing ------------*/

   JPanel BorrowPanel,BorrowPanel1;
   JLabel BorrowDateLabel,BorrowMemberLabel,
          BorrowBookIDLabel;
   JTextField BorrowDateField,BorrowMemberField,
          BorrowBookIDField;
   JButton BorrowButton;
   /*------------Components used in transaction
   ------------*/
   JPanel TransactionPanel;
   JLabel TransMemberIDLabel;
   JTextField TransMemberField;
   JButton CheckTransButton;

public GUI()
{
super("LIBRARY SYSTEM BY HARI MOHAN PANDEY FACULTY
      CE DEPARTMENT");
/*------------Panels used in our project---------------*/
            AddMemberPanel         = new JPanel();
            AddMemberPanel1        = new JPanel();
            AddBookPanel           = new JPanel();
            AddBookPanel1          = new JPanel();
            SearchBookPanel        = new JPanel();
            SearchBook1Panel       = new JPanel();
            SearchMemberPanel      = new JPanel();
            SearchMember1Panel     = new JPanel();
            ReturnPanel            = new JPanel();
            ReturnPanel1           = new JPanel();
            BorrowPanel            = new JPanel();
            BorrowPanel1           = new JPanel();
            TransactionPanel       = new JPanel();
/*-----textfields initialization used in our project----- */
            AddMemberNameField     = new JTextField(8);
            AddAgeField            = new JTextField(8);
            AddICField             = new JTextField(8);
            AddAddressField        = new JTextField(8);
            AddMemberTelField      = new JTextField(8);
            AddBookNameField       = new JTextField(8);
            AddBookPublisherField  = new JTextField(8);
            AddBookAuthorField     = new JTextField(8);
            AddBookIDField         = new JTextField(8);
            SearchBookIDField      = new JTextField(8);
            SearchBook1IDField     = new JTextField(8);
            SearchMemberIDField    = new JTextField(8);
            SearchMember1IDField   = new JTextField(8);
            ReturnDateField        = new JTextField(8);
            ReturnBookIDField      = new JTextField(8);
            BorrowDateField        = new JTextField(8);
            BorrowMemberField      = new JTextField(8);
            BorrowBookIDField      = new JTextField(8);
            TransMemberField       = new JTextField(8);
/*-----------Labels initialization used in our project---*/
      AddMemberNameLabel = new JLabel("Member Name: ");
      AddAgeLabel = new JLabel("Age : ");
      AddICLabel = new JLabel("IC No : ");
      AddAddressLabel = new JLabel("Address: ");
      AddMemberTelLabel = new JLabel("Telephone : ");
      AddBookNameLabel = new JLabel("Book Name : ");
      AddBookPublisherLabel=new JLabel("Publisher Name: ");
      AddBookAuthorLabel = new JLabel("Author Name: ");
      AddBookIDLabel = new JLabel("Book ID : ");
      SearchBookIDLabel = new JLabel("Enter Book ID:");
      SearchBook1IDLabel = new JLabel("Enter Book Name: ");
      SearchMemberIDLabel=new JLabel("Enter Member ID: ");
      SearchMember1IDLabel=new JLabel("Enter Member Name:");
      ReturnDateLabel = new JLabel("Enter Return Date:");
      ReturnMemberIDLabel = new JLabel("Enter Book ID:");
      BorrowDateLabel = new JLabel("Enter Date Borrow:");
      BorrowMemberLabel= new JLabel("Enter Member ID:");
      BorrowBookIDLabel= new JLabel("Enter Book ID: ");
      TransMemberIDLabel = new JLabel("Enter Member ID :");
/*--------Buttons initialization used in our project---- */
      AddMemberButton = new JButton(" Create New Member");
      AddBookButton = new JButton(" Create New Book ");
      SearchBookButton = new JButton(" Search For Book ");
      SearchBook1Button = new JButton(" Search For Book");
      SearchMemberButton=new JButton(" Search For Member");
      SearchMember1Button=new JButton("Search For Member");
      ReturnDateButton= new JButton(" Return Book ");
      BorrowButton = new JButton(" Borrow Book ");
      CheckTransButton = new JButton(" Check Transaction ");
  /*-----Setting layout for the panels used in our project-*/
      AddBookPanel.setLayout(new GridLayout(4,1));
      AddBookPanel1.setLayout(new BorderLayout());
      AddMemberPanel.setLayout(new GridLayout(5,1));
      AddMemberPanel1.setLayout(new BorderLayout());
      SearchBookPanel.setLayout(new GridLayout(5,1));
      SearchBook1Panel.setLayout(new GridLayout(5,1));
      SearchMemberPanel.setLayout(new GridLayout(5,1));
      SearchMember1Panel.setLayout(new GridLayout(5,1));
      ReturnPanel.setLayout(new GridLayout(2,1));
      ReturnPanel1.setLayout(new BorderLayout());
      BorrowPanel.setLayout(new GridLayout(3,2));
      BorrowPanel1.setLayout(new BorderLayout() );
      TransactionPanel.setLayout(new GridLayout(4,1));
  /*------------Member panel--------------------------*/
      AddMemberPanel.add(AddMemberNameLabel);
      AddMemberPanel.add(AddMemberNameField);
      AddMemberPanel.add(AddAgeLabel);
      AddMemberPanel.add(AddAgeField);
      AddMemberPanel.add(AddICLabel);
      AddMemberPanel.add(AddICField);
      AddMemberPanel.add(AddAddressLabel);
      AddMemberPanel.add(AddAddressField);
      AddMemberPanel.add(AddMemberTelLabel);
      AddMemberPanel.add(AddMemberTelField);
  /*--------------------------------------------------*/
      AddBookPanel.add(AddBookNameLabel);
      AddBookPanel.add(AddBookNameField);
      AddBookPanel.add(AddBookAuthorLabel);
      AddBookPanel.add(AddBookAuthorField);
      AddBookPanel.add(AddBookPublisherLabel);
      AddBookPanel.add(AddBookPublisherField);
      AddBookPanel.add(AddBookIDLabel);
      AddBookPanel.add(AddBookIDField);
  /*-------------------------------------------------*/
      SearchBookPanel.add(SearchBookIDLabel);
      SearchBookPanel.add(SearchBookIDField);
      SearchBookPanel.add(SearchBookButton);
      SearchBookButton.addActionListener(new
                                 SearchBookButtonListener());
  /*------------------------------------------------*/
      SearchBook1Panel.add(SearchBook1IDLabel);
      SearchBook1Panel.add(SearchBook1IDField);
      SearchBook1Panel.add(SearchBook1Button);
      SearchBook1Button.addActionListener(new
                                 SearchBook1ButtonListener());
  /*--------------------------------------------------*/
      SearchMemberPanel.add(SearchMemberIDLabel);
      SearchMemberPanel.add(SearchMemberIDField);
      SearchMemberPanel.add(SearchMemberButton);
      SearchMemberButton.addActionListener(new
                                 SearchMemberListener());
  /*--------------------------------------------------*/
      SearchMember1Panel.add(SearchMember1IDLabel);
      SearchMember1Panel.add(SearchMember1IDField);
      SearchMember1Panel.add(SearchMember1Button);
      SearchMember1Button.addActionListener(new
                                 SearchMember1Listener());
  /*------------------------------------------------*/
      ReturnPanel.add(ReturnDateLabel);
      ReturnPanel.add(ReturnDateField);
      ReturnPanel.add(ReturnMemberIDLabel);
      ReturnPanel.add(ReturnBookIDField);
  /*------------------------------------------------*/
      BorrowPanel.add(BorrowDateLabel);
      BorrowPanel.add(BorrowDateField);
      BorrowPanel.add(BorrowMemberLabel);
      BorrowPanel.add(BorrowMemberField);
      BorrowPanel.add(BorrowBookIDLabel);
      BorrowPanel.add(BorrowBookIDField);
  /*-------------------------------------------------*/
      TransactionPanel.add(TransMemberIDLabel);
      TransactionPanel.add(TransMemberField);
      TransactionPanel.add(CheckTransButton);
      CheckTransButton.addActionListener(new
                          CheckTransButtonListener());
  /*------------------------------------------------*/
      JPanel searchp = new JPanel();
      searchp.setLayout(new GridLayout(2,1));
      searchp.add(SearchBookPanel);
      searchp.add(SearchBook1Panel);
      searchp.add(SearchMemberPanel);
      searchp.add(SearchMember1Panel);
  /*--------------------------------------------*/
      AddMemberPanel1.add(AddMemberPanel,BorderLayout.CENTER);
      AddMemberPanel1.add(AddMemberButton,BorderLayout.SOUTH);
      AddMemberButton.addActionListener( new
                         AddMemberButtonListener());
  /*----------------------------------------------*/
      AddBookPanel1.add(AddBookPanel,BorderLayout.CENTER);
      AddBookPanel1.add(AddBookButton,BorderLayout.SOUTH);
      AddBookButton.addActionListener( new
                         AddBookButtonListener());
  /*--------------------------------------------*/
      BorrowPanel1.add(BorrowPanel,BorderLayout.CENTER);
      BorrowPanel1.add(BorrowButton,BorderLayout.SOUTH);
      BorrowButton.addActionListener(new
                         BorrowButtonListener());
  /*-------------------------------------------------------*/
      ReturnPanel1.add(new JLabel("Please enter the date
       properly to calculate fines correctly.See Impotant Notes
       for details."),BorderLayout.NORTH);
      ReturnPanel1.add(ReturnPanel,BorderLayout.CENTER);
      ReturnPanel1.add(ReturnDateButton,BorderLayout.SOUTH);
      ReturnDateButton.addActionListener(new
                          ReturnDateButtonListener());
 /*------------------------------------------------*/
 JPanel design = new JPanel();
 design.setLayout(new BorderLayout());
 String designl =
           "<html>"+
           "<p><b><i>Designed by:</i></b> </p>"+
           "<p><b>Faculty: </b></p>"+
           "<ul>"+
           "<li>Prof. Hari Mohan Pandey Computer Engineering
           Department, MPSTME, SVKM's NMIMS University</li>"+
           "</ul>";
JLabel dby = new JLabel(designl);
design.add(dby,BorderLayout.CENTER);
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
JPanel timep = new JPanel();
Date td = new Date();
String tdate1 = DateFormat.getDateInstance().format(td);
JLabel timel1 = new JLabel("Today the date is "+tdate1+". And
now the time is ");
JLabel time1 = new JLabel();
new TimerTime(time1);
timep.add(timel1);
timep.add(time1);
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
JPanel help = new JPanel();
help.setLayout(new BorderLayout());
String helpl =
 "<html>"+
 "<p><p>Important Notes:</b></p>"+
 "<p><b>Below were the some important points that you need
to</b></p>"+"<p><b>keep in mind while using this system:
</b></p>"+"<ul>"+"<li>If the book was borrowed previous
month, for entering the return date please calculate and
enter the no of days that book have been with member.
</li>"+"<li>Ex: Borrowed date : 25th February
</li>"+"<li>Return date: 15th March </li>"+"<li>No of days in
february: 28-25 = 3 </li>"+"<li>No of days in march : 15
</li>"+"<li>Total no of days = 3+15 = 18 days </li>"+
   "</ul>";
    JLabel h1 = new JLabel(helpl);
    help.add(h1,BorderLayout.CENTER);
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    tpane.addTab("Add Members",AddMemberPanel1);
    tpane.addTab("Add Books",AddBookPanel1);
    tpane.addTab("Search",searchp);
    tpane.addTab("Returning Books",ReturnPanel1);
    tpane.addTab("Borrowing Books",BorrowPanel1);
    tpane.addTab("Transaction Records",TransactionPanel);
    tpane.addTab("Designed By",design);
    tpane.addTab("Important Notes",help);
/*---------------------------------------------------*/
    Container mainpanel =getContentPane();
//getting contentpane and creating mainpanel
    mainpanel.setLayout(new BorderLayout());
    mainpanel.add(tpane,BorderLayout.CENTER);
    mainpanel.add(timep,BorderLayout.SOUTH);
    setSize(625,325);
    setVisible(true);
/*-------------------------------------------------*/
}
class AddMemberButtonListener implements ActionListener
{
public void actionPerformed(ActionEvent ae)
  {
    c.ControllerAddMember(AddMemberNameField.getText(),Int
    eger.parseInt(AddAgeField.getText()),
    AddICField.getText(),AddAddressField.getText(),
    Integer.parseInt(AddMemberTelField.getText()));
  }
}
class AddBookButtonListener implements ActionListener
{
    private int a;
    public void actionPerformed(ActionEvent ae) {
    a = Integer.parseInt(AddBookIDField.getText());
    c.ControllerAddBook(AddBookNameField.getText(),AddBook
    AuthorField.getText(),AddBookPublisherField.
    getText(),a);
  }
}
class SearchBookButtonListener implements ActionListener {
    private int a;
    public void actionPerformed(ActionEvent ae) {
    a = Integer.parseInt(SearchBookIDField.getText());
    c.ControllerBookIDRetrieve(a);
}
}
//--------------------------------------
class SearchBook1ButtonListener implements ActionListener {
public void actionPerformed(ActionEvent ae) {
c.ControllerBookNameRetrieve(SearchBook1IDField.getText());
}

}
//------------------------------------------------
class SearchMemberListener implements ActionListener {
public void actionPerformed(ActionEvent ae) {
c.ControllerICRetrieve(SearchMemberIDField.getText());
}
}
//*******************************************
class SearchMember1Listener implements ActionListener {
   public void actionPerformed(ActionEvent ae) {
   c.ControllerNameRetrieve(SearchMember1IDField.getText());
}
}
//************************************************
class ReturnDateButtonListener implements ActionListener {
   public void actionPerformed(ActionEvent ae) {
   c.ReturnBook(Integer.parseInt(ReturnBookIDField.getTex
   t()),Integer.parseInt(ReturnDateField.getText()));
   }
}
class BorrowButtonListener implements ActionListener {
   public void actionPerformed(ActionEvent ae) {
   c.BorrowBook(BorrowMemberField.getText(),
   Integer.parseInt(BorrowBookIDField.getText()),
   Integer.parseInt(BorrowDateField.getText()));
   }
}
class CheckTransButtonListener implements ActionListener {
   public void actionPerformed(ActionEvent ae) {
   c.checkTrans(TransMemberField.getText());
   }
}
//-------------------------------------------------
//-------------------------------------------------
}
/*FILE: LIBRARY.JAVA*/
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Library
{
   public static void main (String[] args)
   {
      GUI library = new GUI();
   }
}

Implementation:

Step 1: First, compile all the files using javac.

Step 2: After compiling all the files, compile GUI.java as

images

Step 3: Then compile the file Library.java

images

Step 4: Now interpret Library.java using Java interpreter as shown in ahead:

images

Screen shot for project at the initial stage

images

Screen shot of searching a book using book ID

images

Searching book using book title

images

Member records

images

Implementation Borrowing Books option

images

Implementation of Returning Books option

images

Developer details

images

Implementation of Transaction Records

images

Implementation of Important Notes option

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.141.31.125