You are on page 1of 61

TERNA ENGINEERING COLLEGE ,

NERUL(W)
A
Project Report
On

“Library Management”
For The Course
‘JAVA’
SUBMITTED BY
Nahush Kulkarni (Roll No: A-26)
Janmejay Patil (Roll No: A-38)
Aniket Thorat (Roll No: A-37)
Second Year Computer Engineering.
GUIDED BY

PROF. Ujjawala Gaikwad


SUBMITTED TO

TERNA ENGINEERING COLLEGE , NERUL(W)

For Academic Year

2019-2020
SR.N CHAPTER NAME PAGE NO.
O
01. INTRODUCTION
02
02. DATA FLOW DIAGRAM
03
03. DEVELOPMENT
04
TOOLS
04. SYSTEM
04
REQUIREMENTS
05. SNAPSHOTS
06
06. SOURCE CODE
12
CONTENTS
INTRODUCTION
SYNOPSIS:

PROJECT:

LIBRARY MANAGEMENT SYSTEM is a


software application to maintain the records
related to Book Purchase, Stock Maintenance ,
Book Search ,Catalog,Book Issue, Book Returns,
Fine Collection, and all necessary requirements for
the Library to manage day to day operation.

OBJECTIVE:

The main objective of the application is to


automate the exiting system of manually maintain
the records of the Book Issue, Book Return from
the student, Stock maintenance, Catalog and Book
Search to be computerized.

SCOPE:

This application can be used by any Library to


automate the process of manually maintaining the
stock and book issue.
DATA FLOW

DIAGRAM:
Start

YES

Student Book
Issues Book Return Book
Details Details

Add Add Book Stored Issues

Students

Details
DEVELOPMENT TOOLS:-
1)We make our module with JAVA, MySQL.

2)Language: Java,SQL,etc..

3)We used Netbeans as our editor.

SYSTEM REQUIREMENTS:

On Client Side

 Operating System.
 Web browser.

On Server Side

 Web browser.
 MySQL.

FEATURES:-

 Secure login / logout (password encryption).


 Inexpensive.
 User Friendly.
SNAPSHOTS :-

FIG. 1 : LOGIN PAGE


FIG 2 : MAIN MENU
FIG 3: BOOKS SECTION
FIG 04 : BOOKS SECTION
FIG NO :- 05
FIG : Students Details
SOURCE CODE :-

Parser:-
import com.sun.tools.javac.util.Log;

import java.io.IOException;

import java.nio.file.Files;

import java.nio.file.Path;

import java.util.logging.Level;

import java.util.logging.Logger;

import javax.swing.JOptionPane;

public class Parser {

static String getStudent(String student) throws IOException, InterruptedException {

int i=1;

int n = Integer.parseInt(Files.readString(Path.of(System.getProperty("user.dir")
+"/students/total.l")));

while(i<=n){

if(Files.readString(Path.of(System.getProperty("user.dir")+"/students/"+String.valueOf(i)
+"/name.l")).equals(student)){

return String.valueOf(i);

i++;

return String.valueOf(0);

}
NewJFrame:
import javax.swing.JOptionPane;

/*

* To change this license header, choose License Headers in Project Properties.

* To change this template file, choose Tools | Templates

* and open the template in the editor.

*/

/**

* @author Naresh

*/

public class NewJFrame extends javax.swing.JFrame {

/**

* Creates new form NewJFrame

*/

public NewJFrame() {

initComponents();

/**

* This method is called from within the constructor to initialize the form.

* WARNING: Do NOT modify this code. The content of this method is always

* regenerated by the Form Editor.

*/
@SuppressWarnings("unchecked")

// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents

private void initComponents() {

jLabel1 = new javax.swing.JLabel();

jLabel2 = new javax.swing.JLabel();

jTextField1 = new javax.swing.JTextField();

jLabel3 = new javax.swing.JLabel();

jButton1 = new javax.swing.JButton();

jPasswordField1 = new javax.swing.JPasswordField();

jLabel5 = new javax.swing.JLabel();

jLabel4 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

setTitle("LIBRARY MANAGEMENT");

setMaximumSize(new java.awt.Dimension(600, 450));

setPreferredSize(new java.awt.Dimension(600, 450));

setResizable(false);

getContentPane().setLayout(null);

jLabel1.setBackground(new java.awt.Color(255, 204, 204));

jLabel1.setFont(new java.awt.Font("Arial Black", 1, 36)); // NOI18N

jLabel1.setForeground(new java.awt.Color(255, 255, 255));

jLabel1.setText("LIBRARY MANAGEMENT");

jLabel1.setVerticalAlignment(javax.swing.SwingConstants.BOTTOM);

getContentPane().add(jLabel1);

jLabel1.setBounds(30, 80, 530, 52);

jLabel2.setBackground(new java.awt.Color(255, 255, 255));

jLabel2.setFont(new java.awt.Font("Calibri", 1, 14)); // NOI18N


jLabel2.setText("Design: Janmejay Patil, Code: Nahush Kulkarni , Documentation: Aniket
Thorat");

jLabel2.setOpaque(true);

getContentPane().add(jLabel2);

jLabel2.setBounds(0, 390, 600, 30);

jTextField1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jTextField1ActionPerformed(evt);

});

getContentPane().add(jTextField1);

jTextField1.setBounds(310, 180, 160, 40);

jLabel3.setFont(new java.awt.Font("Calibri", 2, 24)); // NOI18N

jLabel3.setForeground(new java.awt.Color(255, 255, 255));

jLabel3.setText("PASSWORD");

getContentPane().add(jLabel3);

jLabel3.setBounds(110, 260, 130, 30);

jButton1.setBackground(new java.awt.Color(255, 255, 255));

jButton1.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N

jButton1.setText("ENTER");

jButton1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton1ActionPerformed(evt);

});
getContentPane().add(jButton1);

jButton1.setBounds(240, 340, 110, 31);

getContentPane().add(jPasswordField1);

jPasswordField1.setBounds(310, 260, 160, 40);

jLabel5.setFont(new java.awt.Font("Calibri", 2, 24)); // NOI18N

jLabel5.setForeground(new java.awt.Color(255, 255, 255));

jLabel5.setText("USERNAME");

getContentPane().add(jLabel5);

jLabel5.setBounds(110, 180, 113, 30);

jLabel4.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N

jLabel4.setForeground(new java.awt.Color(255, 255, 255));

jLabel4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/lib (1).jpg"))); // NOI18N

jLabel4.setText("ENTER");

jLabel4.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));

getContentPane().add(jLabel4);

jLabel4.setBounds(0, 0, 600, 420);

pack();

}// </editor-fold>//GEN-END:initComponents

private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-


FIRST:event_jTextField1ActionPerformed

// TODO add your handling code here:

}//GEN-LAST:event_jTextField1ActionPerformed

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-


FIRST:event_jButton1ActionPerformed

// TODO add your handling code here:


TestFrame2 tf2 = new TestFrame2();

String pwd = new String(jPasswordField1.getPassword());

if(jTextField1.getText().compareTo(pwd)==0 && pwd.length()>0 &&


jTextField1.getText().length()>0){

tf2.setVisible(true);

this.setVisible(false);

else{

JOptionPane.showMessageDialog(rootPane, "Invalid Username or Password");

}//GEN-LAST:event_jButton1ActionPerformed

/**

* @param args the command line arguments

*/

public static void main(String args[]) {

/* Set the Nimbus look and feel */

//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">

/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

*/

try {

for (javax.swing.UIManager.LookAndFeelInfo info :


javax.swing.UIManager.getInstalledLookAndFeels()) {

if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());

break;

} catch (ClassNotFoundException ex) {


java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);

//</editor-fold>

/* Create and display the form */

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new NewJFrame().setVisible(true);

});

// Variables declaration - do not modify//GEN-BEGIN:variables

private javax.swing.JButton jButton1;

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel3;

private javax.swing.JLabel jLabel4;

private javax.swing.JLabel jLabel5;

private javax.swing.JPasswordField jPasswordField1;

private javax.swing.JTextField jTextField1;

// End of variables declaration//GEN-END:variables }


TestFrame2:
import java.io.IOException;

import java.nio.file.Files;

import java.nio.file.Path;

import java.nio.file.Paths;

import java.util.logging.Level;

import java.util.logging.Logger;

import javax.swing.JOptionPane;

/*

* To change this license header, choose License Headers in Project Properties.

* To change this template file, choose Tools | Templates

* and open the template in the editor.

*/

/**

* @author Naresh

*/

public class TestFrame2 extends javax.swing.JFrame {

/**

* Creates new form TestFrame2

*/

public TestFrame2() {

initComponents();

}
/**

* This method is called from within the constructor to initialize the form.

* WARNING: Do NOT modify this code. The content of this method is always

* regenerated by the Form Editor.

*/

@SuppressWarnings("unchecked")

// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents

private void initComponents() {

jLabel1 = new javax.swing.JLabel();

jButton1 = new javax.swing.JButton();

jButton4 = new javax.swing.JButton();

jPanel1 = new javax.swing.JPanel();

jButton2 = new javax.swing.JButton();

jButton5 = new javax.swing.JButton();

jLabel3 = new javax.swing.JLabel();

jButton6 = new javax.swing.JButton();

jButton7 = new javax.swing.JButton();

jButton8 = new javax.swing.JButton();

jLabel2 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

setTitle("LIBRARY MANAGEMENT");

setPreferredSize(new java.awt.Dimension(600, 450));

setResizable(false);

setSize(new java.awt.Dimension(600, 450));

addWindowListener(new java.awt.event.WindowAdapter() {

public void windowClosed(java.awt.event.WindowEvent evt) {

formWindowClosed(evt);

});

getContentPane().setLayout(null);
jLabel1.setFont(new java.awt.Font("Times New Roman", 1, 36)); // NOI18N

jLabel1.setForeground(new java.awt.Color(255, 255, 255));

jLabel1.setText("MAIN MENU");

getContentPane().add(jLabel1);

jLabel1.setBounds(181, 34, 220, 43);

jButton1.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N

jButton1.setText("STUDENT ENTRY");

jButton1.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);

jButton1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton1ActionPerformed(evt);

});

getContentPane().add(jButton1);

jButton1.setBounds(70, 140, 160, 34);

jButton4.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N

jButton4.setText("REPORTS");

jButton4.setHideActionText(true);

jButton4.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);

jButton4.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton4ActionPerformed(evt);

});

getContentPane().add(jButton4);

jButton4.setBounds(70, 200, 160, 37);

jPanel1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(255, 255,


255)));

jPanel1.setOpaque(false);
jPanel1.setLayout(null);

jButton2.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N

jButton2.setText("ISSUE/RETURN");

jButton2.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);

jButton2.setMaximumSize(new java.awt.Dimension(139, 25));

jButton2.setMinimumSize(new java.awt.Dimension(139, 25));

jButton2.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton2ActionPerformed(evt);

});

jPanel1.add(jButton2);

jButton2.setBounds(10, 40, 200, 34);

jButton5.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N

jButton5.setText("BOOK STOCKS");

jButton5.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);

jButton5.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton5ActionPerformed(evt);

});

jPanel1.add(jButton5);

jButton5.setBounds(10, 90, 200, 35);

jLabel3.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N

jLabel3.setForeground(new java.awt.Color(255, 255, 255));

jLabel3.setText("Books");

jPanel1.add(jLabel3);

jLabel3.setBounds(90, 10, 50, 13);


getContentPane().add(jPanel1);

jPanel1.setBounds(350, 100, 219, 160);

jButton6.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N

jButton6.setText("RESET");

jButton6.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton6ActionPerformed(evt);

});

getContentPane().add(jButton6);

jButton6.setBounds(230, 370, 146, 35);

jButton7.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N

jButton7.setText("LOGOUT");

jButton7.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton7ActionPerformed(evt);

});

getContentPane().add(jButton7);

jButton7.setBounds(230, 320, 146, 35);

jButton8.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N

jButton8.setText("QUIT");

jButton8.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton8ActionPerformed(evt);

});

getContentPane().add(jButton8);
jButton8.setBounds(230, 270, 146, 35);

jLabel2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/lib2 (1).jpg"))); // NOI18N

jLabel2.setText("jLabel2");

getContentPane().add(jLabel2);

jLabel2.setBounds(0, 0, 600, 450);

pack();

}// </editor-fold>//GEN-END:initComponents

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-


FIRST:event_jButton1ActionPerformed

// TODO add your handling code here:

TestFrame3 tf3 =new TestFrame3();

tf3.setVisible(true);

this.setVisible(false);

}//GEN-LAST:event_jButton1ActionPerformed

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-


FIRST:event_jButton4ActionPerformed

// TODO add your handling code here:

TestFrame6 tf6 =new TestFrame6();

tf6.setVisible(true);

this.setVisible(false);

}//GEN-LAST:event_jButton4ActionPerformed

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-


FIRST:event_jButton2ActionPerformed

// TODO add your handling code here:

TestFrame4 tf4 =new TestFrame4();

tf4.setVisible(true);

this.setVisible(false);
}//GEN-LAST:event_jButton2ActionPerformed

private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-


FIRST:event_jButton5ActionPerformed

// TODO add your handling code here:

TestFrame5 tf5 =new TestFrame5();

tf5.setVisible(true);

this.setVisible(false);

}//GEN-LAST:event_jButton5ActionPerformed

private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-


FIRST:event_jButton6ActionPerformed

try {

Files.deleteIfExists(Path.of(System.getProperty("user.dir")+"/students"));

Files.deleteIfExists(Path.of(System.getProperty("user.dir")+"/items"));

Files.createDirectory(Path.of(System.getProperty("user.dir")+"/students"));

Files.createDirectory(Path.of(System.getProperty("user.dir")+"/items"));

Files.createFile(Path.of(System.getProperty("user.dir")+"/students/total.l"));

Files.createFile(Path.of(System.getProperty("user.dir")+"/items/total.l"));

Files.write(Path.of(System.getProperty("user.dir")+"/students/total.l"),"0".getBytes());

Files.write(Path.of(System.getProperty("user.dir")+"/items/total.l"),"0".getBytes());

} catch (IOException ex) {

Logger.getLogger(TestFrame2.class.getName()).log(Level.SEVERE, null, ex);

}//GEN-LAST:event_jButton6ActionPerformed

private void formWindowClosed(java.awt.event.WindowEvent evt) {//GEN-


FIRST:event_formWindowClosed

// TODO add your handling code here:

}//GEN-LAST:event_formWindowClosed
private void jButton7ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-
FIRST:event_jButton7ActionPerformed

// TODO add your handling code here:

NewJFrame f1 = new NewJFrame();

f1.setVisible(true);

this.setVisible(false);

}//GEN-LAST:event_jButton7ActionPerformed

private void jButton8ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-


FIRST:event_jButton8ActionPerformed

System.exit(0);

}//GEN-LAST:event_jButton8ActionPerformed

/**

* @param args the command line arguments

*/

public static void main(String args[]) {

/* Set the Nimbus look and feel */

//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">

/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

*/

try {

for (javax.swing.UIManager.LookAndFeelInfo info :


javax.swing.UIManager.getInstalledLookAndFeels()) {

if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());

break;

} catch (ClassNotFoundException ex) {


java.util.logging.Logger.getLogger(TestFrame2.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(TestFrame2.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(TestFrame2.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(TestFrame2.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);

//</editor-fold>

/* Create and display the form */

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new TestFrame2().setVisible(true);

});

// Variables declaration - do not modify//GEN-BEGIN:variables

private javax.swing.JButton jButton1;

private javax.swing.JButton jButton2;

private javax.swing.JButton jButton4;

private javax.swing.JButton jButton5;

private javax.swing.JButton jButton6;

private javax.swing.JButton jButton7;

private javax.swing.JButton jButton8;


private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel3;

private javax.swing.JPanel jPanel1;

// End of variables declaration//GEN-END:variables

TestFrame3:
import java.io.IOException;

import java.nio.charset.Charset;

import java.nio.file.Files;

import java.nio.file.Path;

import java.util.logging.Level;

import java.util.logging.Logger;

import javax.swing.JOptionPane;

import static sun.net.ext.ExtendedSocketOptions.options;

/*

* To change this license header, choose License Headers in Project Properties.

* To change this template file, choose Tools | Templates

* and open the template in the editor.

*/

/**

* @author Naresh

*/

public class TestFrame3 extends javax.swing.JFrame {

/**

* Creates new form TestFrame3


*/

public TestFrame3() {

initComponents();

/**

* This method is called from within the constructor to initialize the form.

* WARNING: Do NOT modify this code. The content of this method is always

* regenerated by the Form Editor.

*/

@SuppressWarnings("unchecked")

// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents

private void initComponents() {

jLabel1 = new javax.swing.JLabel();

jPanel1 = new javax.swing.JPanel();

jLabel2 = new javax.swing.JLabel();

jTextField1 = new javax.swing.JTextField();

jLabel3 = new javax.swing.JLabel();

jTextField2 = new javax.swing.JTextField();

jLabel4 = new javax.swing.JLabel();

jTextField3 = new javax.swing.JTextField();

jLabel5 = new javax.swing.JLabel();

jComboBox1 = new javax.swing.JComboBox<>();

jLabel6 = new javax.swing.JLabel();

jTextField4 = new javax.swing.JTextField();

jLabel7 = new javax.swing.JLabel();

jTextField5 = new javax.swing.JTextField();

jButton1 = new javax.swing.JButton();

jButton2 = new javax.swing.JButton();

jLabel8 = new javax.swing.JLabel();


setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

setTitle("LIBRARY MANAGEMENT");

setPreferredSize(new java.awt.Dimension(600, 450));

setResizable(false);

setSize(new java.awt.Dimension(600, 450));

getContentPane().setLayout(null);

jLabel1.setFont(new java.awt.Font("Times New Roman", 1, 36)); // NOI18N

jLabel1.setForeground(new java.awt.Color(255, 255, 255));

jLabel1.setText("STUDENT DETAILS");

getContentPane().add(jLabel1);

jLabel1.setBounds(130, 20, 340, 40);

jPanel1.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(255, 255, 255), 3,


true));

jPanel1.setForeground(new java.awt.Color(255, 255, 255));

jPanel1.setOpaque(false);

jPanel1.setLayout(null);

jLabel2.setFont(new java.awt.Font("Tahoma", 2, 12)); // NOI18N

jLabel2.setForeground(new java.awt.Color(255, 255, 255));

jLabel2.setText("NAME");

jPanel1.add(jLabel2);

jLabel2.setBounds(27, 14, 50, 15);

jTextField1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jTextField1ActionPerformed(evt);

});
jPanel1.add(jTextField1);

jTextField1.setBounds(130, 12, 120, 30);

jLabel3.setFont(new java.awt.Font("Tahoma", 2, 12)); // NOI18N

jLabel3.setForeground(new java.awt.Color(255, 255, 255));

jLabel3.setText("ROLL NUMBER");

jPanel1.add(jLabel3);

jLabel3.setBounds(288, 14, 87, 15);

jPanel1.add(jTextField2);

jTextField2.setBounds(409, 12, 80, 30);

jLabel4.setFont(new java.awt.Font("Tahoma", 2, 12)); // NOI18N

jLabel4.setForeground(new java.awt.Color(255, 255, 255));

jLabel4.setText("BRANCH");

jPanel1.add(jLabel4);

jLabel4.setBounds(27, 86, 50, 15);

jPanel1.add(jTextField3);

jTextField3.setBounds(130, 81, 120, 30);

jLabel5.setFont(new java.awt.Font("Tahoma", 2, 12)); // NOI18N

jLabel5.setForeground(new java.awt.Color(255, 255, 255));

jLabel5.setText("SEM");

jPanel1.add(jLabel5);

jLabel5.setBounds(288, 83, 87, 15);

jComboBox1.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "I", "II", "III",


"IV", "V", "VI", "VII", "VIII" }));

jPanel1.add(jComboBox1);

jComboBox1.setBounds(409, 81, 80, 30);

jLabel6.setFont(new java.awt.Font("Tahoma", 2, 12)); // NOI18N


jLabel6.setForeground(new java.awt.Color(255, 255, 255));

jLabel6.setText("DATE");

jPanel1.add(jLabel6);

jLabel6.setBounds(27, 155, 50, 15);

jPanel1.add(jTextField4);

jTextField4.setBounds(130, 153, 120, 30);

jLabel7.setFont(new java.awt.Font("Tahoma", 2, 12)); // NOI18N

jLabel7.setForeground(new java.awt.Color(255, 255, 255));

jLabel7.setText("TIME");

jPanel1.add(jLabel7);

jLabel7.setBounds(288, 155, 87, 15);

jPanel1.add(jTextField5);

jTextField5.setBounds(409, 153, 80, 30);

getContentPane().add(jPanel1);

jPanel1.setBounds(50, 70, 510, 210);

jButton1.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N

jButton1.setText("ENTER");

jButton1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton1ActionPerformed(evt);

});

getContentPane().add(jButton1);

jButton1.setBounds(130, 350, 100, 30);

jButton2.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N

jButton2.setText("BACK");

jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton2ActionPerformed(evt);

});

getContentPane().add(jButton2);

jButton2.setBounds(370, 350, 100, 30);

jLabel8.setIcon(new javax.swing.ImageIcon(getClass().getResource("/lib2 (1).jpg"))); // NOI18N

jLabel8.setText("jLabel8");

getContentPane().add(jLabel8);

jLabel8.setBounds(0, -6, 600, 460);

pack();

}// </editor-fold>//GEN-END:initComponents

private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-


FIRST:event_jTextField1ActionPerformed

// TODO add your handling code here:

}//GEN-LAST:event_jTextField1ActionPerformed

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-


FIRST:event_jButton1ActionPerformed

try {

int n = Integer.parseInt(Files.readString(Path.of(System.getProperty("user.dir")
+"/students/total.l")));

n++;

String newFolder = System.getProperty("user.dir")+"/students/"+String.valueOf(n)+"/";

Files.createDirectory(Path.of(newFolder));

Files.createFile(Path.of(newFolder+"Name.l"));

Files.createFile(Path.of(newFolder+"Roll.l"));

Files.createFile(Path.of(newFolder+"Branch.l"));

Files.createFile(Path.of(newFolder+"Sem.l"));
Files.createFile(Path.of(newFolder+"Date.l"));

Files.createFile(Path.of(newFolder+"Time.l"));

Files.write(Path.of(newFolder+"Name.l"), jTextField1.getText().getBytes());

Files.write(Path.of(newFolder+"Roll.l"), jTextField2.getText().getBytes());

Files.write(Path.of(newFolder+"Branch.l"), jTextField3.getText().getBytes());

Files.write(Path.of(newFolder+"Sem.l"),
jComboBox1.getItemAt(jComboBox1.getSelectedIndex()).getBytes());

Files.write(Path.of(newFolder+"Date.l"), jTextField4.getText().getBytes());

Files.write(Path.of(newFolder+"Time.l"), jTextField5.getText().getBytes());

Files.write(Path.of(System.getProperty("user.dir")+"/students/total.l"),
String.valueOf(n).getBytes());

} catch (IOException ex) {

Logger.getLogger(TestFrame3.class.getName()).log(Level.SEVERE, null, ex);

JOptionPane.showMessageDialog(rootPane, "Unable to create new entry!");

jTextField1.setText("");

jTextField2.setText("");

jTextField3.setText("");

jTextField4.setText("");

jTextField5.setText("");

jButton2ActionPerformed(evt);

}//GEN-LAST:event_jButton1ActionPerformed

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-


FIRST:event_jButton2ActionPerformed

// TODO add your handling code here:

this.hide();

TestFrame2 tf2 =new TestFrame2();

tf2.setVisible(true);

this.setVisible(false);

}//GEN-LAST:event_jButton2ActionPerformed
/**

* @param args the command line arguments

*/

public static void main(String args[]) {

/* Set the Nimbus look and feel */

//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">

/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

*/

try {

for (javax.swing.UIManager.LookAndFeelInfo info :


javax.swing.UIManager.getInstalledLookAndFeels()) {

if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());

break;

} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(TestFrame3.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(TestFrame3.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(TestFrame3.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(TestFrame3.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);

}
//</editor-fold>

/* Create and display the form */

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new TestFrame3().setVisible(true);

});

// Variables declaration - do not modify//GEN-BEGIN:variables

private javax.swing.JButton jButton1;

private javax.swing.JButton jButton2;

private javax.swing.JComboBox<String> jComboBox1;

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel3;

private javax.swing.JLabel jLabel4;

private javax.swing.JLabel jLabel5;

private javax.swing.JLabel jLabel6;

private javax.swing.JLabel jLabel7;

private javax.swing.JLabel jLabel8;

private javax.swing.JPanel jPanel1;

private javax.swing.JTextField jTextField1;

private javax.swing.JTextField jTextField2;

private javax.swing.JTextField jTextField3;

private javax.swing.JTextField jTextField4;

private javax.swing.JTextField jTextField5;

// End of variables declaration//GEN-END:variables

}
TestFrame4:
import java.io.IOException;

import java.nio.file.Files;

import java.nio.file.Path;

import java.util.logging.Level;

import java.util.logging.Logger;

import javax.swing.JOptionPane;

/*

* To change this license header, choose License Headers in Project Properties.

* To change this template file, choose Tools | Templates

* and open the template in the editor.

*/

/**

* @author Naresh

*/

public class TestFrame4 extends javax.swing.JFrame {

/**

* Creates new form TestFrame4

*/

public TestFrame4() {

initComponents();

/**

* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always

* regenerated by the Form Editor.

*/

@SuppressWarnings("unchecked")

// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents

private void initComponents() {

jLabel1 = new javax.swing.JLabel();

jComboBox1 = new javax.swing.JComboBox<>();

jLabel2 = new javax.swing.JLabel();

jPanel1 = new javax.swing.JPanel();

jLabel3 = new javax.swing.JLabel();

jLabel4 = new javax.swing.JLabel();

jLabel5 = new javax.swing.JLabel();

jLabel6 = new javax.swing.JLabel();

jLabel7 = new javax.swing.JLabel();

jTextField1 = new javax.swing.JTextField();

jTextField2 = new javax.swing.JTextField();

jTextField3 = new javax.swing.JTextField();

jTextField4 = new javax.swing.JTextField();

jTextField5 = new javax.swing.JTextField();

jButton1 = new javax.swing.JButton();

jButton2 = new javax.swing.JButton();

jButton3 = new javax.swing.JButton();

jButton4 = new javax.swing.JButton();

jLabel8 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

setTitle("LIBRARY MANAGEMENT");

setPreferredSize(new java.awt.Dimension(600, 450));

setResizable(false);
setSize(new java.awt.Dimension(600, 450));

getContentPane().setLayout(null);

jLabel1.setFont(new java.awt.Font("Times New Roman", 1, 36)); // NOI18N

jLabel1.setForeground(new java.awt.Color(255, 255, 255));

jLabel1.setText("BOOKS SECTION");

getContentPane().add(jLabel1);

jLabel1.setBounds(150, 40, 310, 43);

jComboBox1.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "BOOK",


"JOURNAL", "MAGAZINE", "NEWSPAPER" }));

jComboBox1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jComboBox1ActionPerformed(evt);

});

getContentPane().add(jComboBox1);

jComboBox1.setBounds(310, 100, 100, 30);

jLabel2.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N

jLabel2.setForeground(new java.awt.Color(255, 255, 255));

jLabel2.setText("CATEGORY");

getContentPane().add(jLabel2);

jLabel2.setBounds(180, 105, 77, 20);

jPanel1.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(255, 255, 255), 3,


true));

jPanel1.setOpaque(false);

jPanel1.setLayout(null);

jLabel3.setForeground(new java.awt.Color(255, 255, 255));

jLabel3.setText("BOOK ID");
jPanel1.add(jLabel3);

jLabel3.setBounds(27, 20, 80, 13);

jLabel4.setForeground(new java.awt.Color(255, 255, 255));

jLabel4.setText("BOOK NAME");

jPanel1.add(jLabel4);

jLabel4.setBounds(27, 63, 90, 13);

jLabel5.setForeground(new java.awt.Color(255, 255, 255));

jLabel5.setText("SUBJECT");

jPanel1.add(jLabel5);

jLabel5.setBounds(27, 102, 80, 13);

jLabel6.setForeground(new java.awt.Color(255, 255, 255));

jLabel6.setText("AUTHOR");

jPanel1.add(jLabel6);

jLabel6.setBounds(28, 140, 80, 13);

jLabel7.setForeground(new java.awt.Color(255, 255, 255));

jLabel7.setText("COPIES");

jPanel1.add(jLabel7);

jLabel7.setBounds(28, 178, 80, 13);

jTextField1.setPreferredSize(new java.awt.Dimension(230, 20));

jPanel1.add(jTextField1);

jTextField1.setBounds(160, 20, 240, 30);

jTextField2.setBorder(null);

jTextField2.setPreferredSize(new java.awt.Dimension(230, 20));

jPanel1.add(jTextField2);

jTextField2.setBounds(160, 60, 240, 30);


jTextField3.setPreferredSize(new java.awt.Dimension(230, 20));

jPanel1.add(jTextField3);

jTextField3.setBounds(160, 100, 240, 30);

jPanel1.add(jTextField4);

jTextField4.setBounds(160, 140, 240, 30);

jPanel1.add(jTextField5);

jTextField5.setBounds(160, 180, 240, 30);

jButton1.setText("ISSUE");

jButton1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton1ActionPerformed(evt);

});

jPanel1.add(jButton1);

jButton1.setBounds(430, 70, 83, 31);

jButton2.setText("RETURN");

jButton2.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton2ActionPerformed(evt);

});

jPanel1.add(jButton2);

jButton2.setBounds(430, 130, 83, 32);

getContentPane().add(jPanel1);

jPanel1.setBounds(30, 140, 540, 220);

jButton3.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N


jButton3.setText("ENTER");

jButton3.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton3ActionPerformed(evt);

});

getContentPane().add(jButton3);

jButton3.setBounds(140, 380, 94, 25);

jButton4.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N

jButton4.setText("BACK");

jButton4.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton4ActionPerformed(evt);

});

getContentPane().add(jButton4);

jButton4.setBounds(350, 380, 91, 25);

jLabel8.setIcon(new javax.swing.ImageIcon(getClass().getResource("/lib2 (1).jpg"))); // NOI18N

jLabel8.setText("jLabel8");

jLabel8.setMaximumSize(new java.awt.Dimension(600, 450));

jLabel8.setMinimumSize(new java.awt.Dimension(600, 450));

getContentPane().add(jLabel8);

jLabel8.setBounds(2, 0, 600, 450);

pack();

}// </editor-fold>//GEN-END:initComponents

private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-


FIRST:event_jComboBox1ActionPerformed
// TODO add your handling code here:

}//GEN-LAST:event_jComboBox1ActionPerformed

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-


FIRST:event_jButton2ActionPerformed

String student = JOptionPane.showInputDialog("Enter student name:");

try {

int i = Integer.parseInt(jTextField1.getText());

int a = Integer.parseInt(Files.readString(Path.of(System.getProperty("user.dir")+"/items/" +
String.valueOf(i) + "/Available.l")));

int b = Integer.parseInt(Files.readString(Path.of(System.getProperty("user.dir")+"/items/" +
String.valueOf(i) + "/Copies.l")));

a++;

if(a>b){

JOptionPane.showMessageDialog(rootPane,
jComboBox1.getItemAt(jComboBox1.getSelectedIndex()) + " stock full!");

throw new InterruptedException("Error!");

String stu=Parser.getStudent(student);

if(Integer.parseInt(stu)==0){

JOptionPane.showMessageDialog(rootPane, "Student not found!");

throw new InterruptedException("Error!");

String newFolder = System.getProperty("user.dir")+"/Students/" + stu + "/";

Files.deleteIfExists(Path.of(newFolder + "Book.l"));

Files.write(Path.of(System.getProperty("user.dir")+"/items/" + String.valueOf(i) +
"/Available.l"), String.valueOf(a).getBytes());

} catch (IOException ex) {

Logger.getLogger(TestFrame4.class.getName()).log(Level.SEVERE, null, ex);

JOptionPane.showMessageDialog(rootPane, "Unable to issue


"+jComboBox1.getItemAt(jComboBox1.getSelectedIndex())+"!");

} catch (java.lang.InterruptedException ex) {

Logger.getLogger(TestFrame4.class.getName()).log(Level.SEVERE, null, ex);


}

jButton4ActionPerformed(evt);

}//GEN-LAST:event_jButton2ActionPerformed

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-


FIRST:event_jButton1ActionPerformed

String student = JOptionPane.showInputDialog("Enter student name:");

try {

int i = Integer.parseInt(jTextField1.getText());

int a = Integer.parseInt(Files.readString(Path.of(System.getProperty("user.dir")+"/items/" +
String.valueOf(i) + "/Available.l")));

String name = Files.readString(Path.of(System.getProperty("user.dir")+"/items/" +


String.valueOf(i) + "/Name.l"));

a--;

if(a==0){

JOptionPane.showMessageDialog(rootPane,
jComboBox1.getItemAt(jComboBox1.getSelectedIndex()) + " not in stock!");

throw new InterruptedException("Error!");

String stu=Parser.getStudent(student);

if(Integer.parseInt(stu)==0){

JOptionPane.showMessageDialog(rootPane, "Student not found!");

throw new InterruptedException("Error!");

String newFolder = System.getProperty("user.dir")+"/students/" + stu + "/";

if(Files.exists(Path.of(newFolder + "Book.l"))){

JOptionPane.showMessageDialog(rootPane, "Student has a book issued!");

throw new InterruptedException("Error!");

Files.createFile(Path.of(newFolder + "Book.l"));

Files.write(Path.of(newFolder + "Book.l"), name.getBytes());

Files.write(Path.of(System.getProperty("user.dir")+"/items/" + String.valueOf(i) +
"/Available.l"), String.valueOf(a).getBytes());
} catch (IOException ex) {

Logger.getLogger(TestFrame4.class.getName()).log(Level.SEVERE, null, ex);

JOptionPane.showMessageDialog(rootPane, "Unable to issue " +


jComboBox1.getItemAt(jComboBox1.getSelectedIndex())+"!");

} catch (java.lang.InterruptedException ex) {

Logger.getLogger(TestFrame4.class.getName()).log(Level.SEVERE, null, ex);

jButton4ActionPerformed(evt);

}//GEN-LAST:event_jButton1ActionPerformed

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-


FIRST:event_jButton4ActionPerformed

TestFrame2 tf2 =new TestFrame2();

tf2.setVisible(true);

this.setVisible(false);

}//GEN-LAST:event_jButton4ActionPerformed

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-


FIRST:event_jButton3ActionPerformed

try {

int n = Integer.parseInt(Files.readString(Path.of(System.getProperty("user.dir")
+"/items/total.l")));

n++;

String newFolder = System.getProperty("user.dir")+"/items/"+jTextField1.getText()+"/";

Files.createDirectory(Path.of(newFolder));

Files.createFile(Path.of(newFolder+"Category.l"));

Files.createFile(Path.of(newFolder+"Id.l"));

Files.createFile(Path.of(newFolder+"Name.l"));

Files.createFile(Path.of(newFolder+"Subject.l"));

Files.createFile(Path.of(newFolder+"Author.l"));

Files.createFile(Path.of(newFolder+"Copies.l"));
Files.write(Path.of(newFolder+"Category.l"),jComboBox1.getItemAt(jComboBox1.getSelectedIndex()
).getBytes());

Files.write(Path.of(newFolder+"Id.l"), jTextField1.getText().getBytes());

Files.write(Path.of(newFolder+"Name.l"), jTextField2.getText().getBytes());

Files.write(Path.of(newFolder+"Subject.l"), jTextField3.getText().getBytes());

Files.write(Path.of(newFolder+"Author.l"), jTextField4.getText().getBytes());

Files.write(Path.of(newFolder+"Copies.l"), jTextField5.getText().getBytes());

Files.write(Path.of(newFolder+"Available.l"), jTextField5.getText().getBytes());

Files.write(Path.of(System.getProperty("user.dir")+"/items/total.l"),
String.valueOf(n).getBytes());

} catch (IOException ex) {

Logger.getLogger(TestFrame3.class.getName()).log(Level.SEVERE, null, ex);

JOptionPane.showMessageDialog(rootPane, "Unable to add


"+jComboBox1.getItemAt(jComboBox1.getSelectedIndex())+"!");

jTextField1.setText("");

jTextField2.setText("");

jTextField3.setText("");

jTextField4.setText("");

jTextField5.setText("");

jButton4ActionPerformed(evt);

}//GEN-LAST:event_jButton3ActionPerformed

/**

* @param args the command line arguments

*/

public static void main(String args[]) {

/* Set the Nimbus look and feel */

//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">

/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html


*/

try {

for (javax.swing.UIManager.LookAndFeelInfo info :


javax.swing.UIManager.getInstalledLookAndFeels()) {

if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());

break;

} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(TestFrame4.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(TestFrame4.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(TestFrame4.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(TestFrame4.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);

//</editor-fold>

/* Create and display the form */

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new TestFrame4().setVisible(true);

});
}

// Variables declaration - do not modify//GEN-BEGIN:variables

private javax.swing.JButton jButton1;

private javax.swing.JButton jButton2;

private javax.swing.JButton jButton3;

private javax.swing.JButton jButton4;

private javax.swing.JComboBox<String> jComboBox1;

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel3;

private javax.swing.JLabel jLabel4;

private javax.swing.JLabel jLabel5;

private javax.swing.JLabel jLabel6;

private javax.swing.JLabel jLabel7;

private javax.swing.JLabel jLabel8;

private javax.swing.JPanel jPanel1;

private javax.swing.JTextField jTextField1;

private javax.swing.JTextField jTextField2;

private javax.swing.JTextField jTextField3;

private javax.swing.JTextField jTextField4;

private javax.swing.JTextField jTextField5;

// End of variables declaration//GEN-END:variables

private void InterruptedException(String error) {

throw new UnsupportedOperationException("Not supported yet."); //To change body of


generated methods, choose Tools | Templates.

}
TestFrame5:
import java.awt.Component;

import java.awt.List;

import java.io.File;

import java.io.IOException;

import java.nio.file.Files;

import java.nio.file.Path;

import java.nio.file.Paths;

import java.util.logging.Level;

import java.util.logging.Logger;

import java.util.stream.Collectors;

import java.util.stream.Stream;

import javax.swing.table.DefaultTableModel;

/*

* To change this license header, choose License Headers in Project Properties.

* To change this template file, choose Tools | Templates

* and open the template in the editor.

*/

/**

* @author Naresh

*/

public class TestFrame5 extends javax.swing.JFrame {

/**

* Creates new form TestFrame5

*/
public TestFrame5() {

initComponents();

/**

* This method is called from within the constructor to initialize the form.

* WARNING: Do NOT modify this code. The content of this method is always

* regenerated by the Form Editor.

*/

@SuppressWarnings("unchecked")

// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents

private void initComponents() {

jLabel1 = new javax.swing.JLabel();

jScrollPane1 = new javax.swing.JScrollPane();

jTable1 = new javax.swing.JTable();

jButton1 = new javax.swing.JButton();

jLabel3 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

setTitle("LIBRARY MANAGEMENT");

setPreferredSize(new java.awt.Dimension(600, 450));

setResizable(false);

addWindowListener(new java.awt.event.WindowAdapter() {

public void windowOpened(java.awt.event.WindowEvent evt) {

formWindowOpened(evt);

});

getContentPane().setLayout(null);

jLabel1.setFont(new java.awt.Font("Times New Roman", 1, 36)); // NOI18N


jLabel1.setForeground(new java.awt.Color(255, 255, 255));

jLabel1.setText("BOOK STOCKS");

getContentPane().add(jLabel1);

jLabel1.setBounds(170, 30, 263, 43);

jTable1.setModel(new javax.swing.table.DefaultTableModel(

new Object [][] {

},

new String [] {

"NAME", "AUTHOR", "AVAILABLE", "COPIES"

){

Class[] types = new Class [] {

java.lang.String.class, java.lang.String.class, java.lang.Integer.class, java.lang.Integer.class

};

public Class getColumnClass(int columnIndex) {

return types [columnIndex];

});

jScrollPane1.setViewportView(jTable1);

getContentPane().add(jScrollPane1);

jScrollPane1.setBounds(30, 80, 530, 240);

jButton1.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N

jButton1.setText("BACK");

jButton1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton1ActionPerformed(evt);
}

});

getContentPane().add(jButton1);

jButton1.setBounds(250, 350, 100, 30);

jLabel3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/lib2 (1).jpg"))); // NOI18N

getContentPane().add(jLabel3);

jLabel3.setBounds(0, 0, 600, 450);

pack();

}// </editor-fold>//GEN-END:initComponents

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-


FIRST:event_jButton1ActionPerformed

// TODO add your handling code here:

TestFrame2 tf2 =new TestFrame2();

tf2.setVisible(true);

this.setVisible(false);

}//GEN-LAST:event_jButton1ActionPerformed

private void formWindowOpened(java.awt.event.WindowEvent evt) {//GEN-


FIRST:event_formWindowOpened

try {

File[] L = new File(System.getProperty("user.dir")+"/items/").listFiles(File::isDirectory);

DefaultTableModel model = (DefaultTableModel) jTable1.getModel();

for(int i=0; i<L.length; i++){

String folder = L[i] + "/";

String s1 = Files.readString(Path.of(folder + "Name.l"));

String s2 = Files.readString(Path.of(folder + "Author.l"));

String s3 = Files.readString(Path.of(folder + "Available.l"));

String s4 = Files.readString(Path.of(folder + "Copies.l"));

model.addRow(new Object[]{s1, s2, s3,s4});


}

} catch (IOException ex) {

Logger.getLogger(TestFrame5.class.getName()).log(Level.SEVERE, null, ex);

}//GEN-LAST:event_formWindowOpened

/**

* @param args the command line arguments

*/

public static void main(String args[]) {

/* Set the Nimbus look and feel */

//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">

/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

*/

try {

for (javax.swing.UIManager.LookAndFeelInfo info :


javax.swing.UIManager.getInstalledLookAndFeels()) {

if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());

break;

} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(TestFrame5.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(TestFrame5.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);

} catch (IllegalAccessException ex) {


java.util.logging.Logger.getLogger(TestFrame5.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(TestFrame5.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);

//</editor-fold>

/* Create and display the form */

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new TestFrame5().setVisible(true);

});

// Variables declaration - do not modify//GEN-BEGIN:variables

private javax.swing.JButton jButton1;

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel3;

private javax.swing.JScrollPane jScrollPane1;

private javax.swing.JTable jTable1;

// End of variables declaration//GEN-END:variables

TestFrame6:
import java.awt.List;

import java.io.File;

import java.io.IOException;
import java.nio.file.Files;

import java.nio.file.Path;

import java.util.logging.Level;

import java.util.logging.Logger;

import javax.swing.table.DefaultTableModel;

/*

* To change this license header, choose License Headers in Project Properties.

* To change this template file, choose Tools | Templates

* and open the template in the editor.

*/

/**

* @author Naresh

*/

public class TestFrame6 extends javax.swing.JFrame {

/**

* Creates new form TestFrame6

*/

public TestFrame6() {

initComponents();

/**

* This method is called from within the constructor to initialize the form.

* WARNING: Do NOT modify this code. The content of this method is always

* regenerated by the Form Editor.

*/

@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents

private void initComponents() {

jLabel1 = new javax.swing.JLabel();

jLabel2 = new javax.swing.JLabel();

jPanel1 = new javax.swing.JPanel();

jLabel3 = new javax.swing.JLabel();

jComboBox1 = new javax.swing.JComboBox<>();

jScrollPane1 = new javax.swing.JScrollPane();

jTable1 = new javax.swing.JTable();

jButton1 = new javax.swing.JButton();

jLabel4 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

setTitle("LIBRARY MANAGEMENT");

setBounds(new java.awt.Rectangle(0, 0, 600, 450));

setMaximumSize(new java.awt.Dimension(600, 450));

setPreferredSize(new java.awt.Dimension(600, 450));

setResizable(false);

setSize(new java.awt.Dimension(600, 450));

addWindowListener(new java.awt.event.WindowAdapter() {

public void windowOpened(java.awt.event.WindowEvent evt) {

formWindowOpened(evt);

});

getContentPane().setLayout(null);

jLabel1.setFont(new java.awt.Font("Times New Roman", 1, 48)); // NOI18N

jLabel1.setForeground(new java.awt.Color(255, 255, 255));

jLabel1.setText("REPORTS");

getContentPane().add(jLabel1);
jLabel1.setBounds(174, 42, 226, 56);

jLabel2.setBackground(new java.awt.Color(255, 255, 255));

jLabel2.setFont(new java.awt.Font("Palatino Linotype", 3, 14)); // NOI18N

jLabel2.setForeground(new java.awt.Color(255, 255, 255));

jLabel2.setText("RECENT TRANSACTIONS");

getContentPane().add(jLabel2);

jLabel2.setBounds(201, 104, 180, 20);

jPanel1.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(255, 255, 255), 3,


true));

jPanel1.setOpaque(false);

jPanel1.setLayout(null);

jLabel3.setFont(new java.awt.Font("Tahoma", 2, 12)); // NOI18N

jLabel3.setText("CATEGORY");

jPanel1.add(jLabel3);

jLabel3.setBounds(26, 13, 71, 15);

jComboBox1.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "BOOK",


"JOURNAL", "MAGAZINE", "NEWSPAPER" }));

jPanel1.add(jComboBox1);

jComboBox1.setBounds(162, 11, 81, 19);

getContentPane().add(jPanel1);

jPanel1.setBounds(144, 154, 0, 42);

jTable1.setModel(new javax.swing.table.DefaultTableModel(

new Object [][] {

},

new String [] {
"STUDENT NAME", "BOOK NAME"

));

jScrollPane1.setViewportView(jTable1);

getContentPane().add(jScrollPane1);

jScrollPane1.setBounds(50, 140, 501, 220);

jButton1.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N

jButton1.setText("BACK");

jButton1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton1ActionPerformed(evt);

});

getContentPane().add(jButton1);

jButton1.setBounds(240, 380, 97, 25);

jLabel4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/lib2 (1).jpg"))); // NOI18N

jLabel4.setText("jLabel4");

jLabel4.setMaximumSize(new java.awt.Dimension(600, 450));

jLabel4.setMinimumSize(new java.awt.Dimension(600, 450));

jLabel4.setOpaque(true);

jLabel4.setPreferredSize(new java.awt.Dimension(600, 450));

getContentPane().add(jLabel4);

jLabel4.setBounds(0, 0, 600, 450);

pack();

}// </editor-fold>//GEN-END:initComponents
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-
FIRST:event_jButton1ActionPerformed

// TODO add your handling code here:

TestFrame2 tf2 =new TestFrame2();

tf2.setVisible(true);

this.setVisible(false);

}//GEN-LAST:event_jButton1ActionPerformed

private void formWindowOpened(java.awt.event.WindowEvent evt) {//GEN-


FIRST:event_formWindowOpened

try {

int n = Integer.parseInt(Files.readString(Path.of(System.getProperty("user.dir")
+"/students/total.l")));

DefaultTableModel model = (DefaultTableModel) jTable1.getModel();

for(int i=1; i<=n; i++){

String folder = System.getProperty("user.dir")+"/Students/" + String.valueOf(i) + "/";

String s1 = Files.readString(Path.of(folder + "Name.l"));

String s2 = Files.readString(Path.of(folder + "Book.l"));

model.addRow(new Object[]{s1, s2});

} catch (IOException ex) {

Logger.getLogger(TestFrame5.class.getName()).log(Level.SEVERE, null, ex);

}//GEN-LAST:event_formWindowOpened

/**

* @param args the command line arguments

*/

public static void main(String args[]) {

/* Set the Nimbus look and feel */

//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">

/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

*/

try {

for (javax.swing.UIManager.LookAndFeelInfo info :


javax.swing.UIManager.getInstalledLookAndFeels()) {

if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());

break;

} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(TestFrame6.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(TestFrame6.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(TestFrame6.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(TestFrame6.class.getName()).log(java.util.logging.Level.SEVERE,
null, ex);

//</editor-fold>

/* Create and display the form */

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new TestFrame6().setVisible(true);

}
});

// Variables declaration - do not modify//GEN-BEGIN:variables

private javax.swing.JButton jButton1;

private javax.swing.JComboBox<String> jComboBox1;

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel3;

private javax.swing.JLabel jLabel4;

private javax.swing.JPanel jPanel1;

private javax.swing.JScrollPane jScrollPane1;

private javax.swing.JTable jTable1;

// End of variables declaration//GEN-END:variables

You might also like