Library Management System Project in Java: Design & Features
By Rohan Vats
Updated on Jun 06, 2025 | 354 min read | 49.83K+ views
Share:
For working professionals
For fresh graduates
More
By Rohan Vats
Updated on Jun 06, 2025 | 354 min read | 49.83K+ views
Share:
Table of Contents
Latest Update: Introduced in Java 24, JEP 450 reduces the size of object headers on 64-bit systems. This enhancement improves memory efficiency and supports better data locality, making it particularly useful for applications dealing with large data sets or high-throughput systems, such as AI workloads. |
The Library Management System Project in Java gives you hands-on experience building a real-world application. Instead of just learning theory, you’ll learn how to create a system that handles everything from user authentication to managing books and student records.
In this project, you will implement key modules like login and logout in Java. It includes account management, book inventory, and student management. You will also work on issuing and returning books, viewing records, and adding an about section for project information.
A Library Management System Project in Java is a beginner-friendly application designed to help you understand how to build a complete software solution from scratch. This system automates and manages core library tasks like tracking books, handling student accounts, issuing and returning books, and viewing detailed records.
To keep up with industry trends and build real-world development skills, check out these top courses designed to boost your Java expertise and career prospects in 2025.
Working on this project gives you practical exposure to real-world software development. It allows you to implement key modules such as:
Java is one of the most widely used programming languages in the industry. It is platform-independent, secure, and supports object-oriented programming. Java also offers strong support for GUI development with tools like Swing or JavaFX and database interaction using JDBC. Building this project in Java helps you:
Also Read: Top 8 Reasons Why Java is So Popular With Developers in 2025
If you want to sharpen your development skills, this project will give you hands-on experience building, testing, and deploying a real-world Java application.
This project is ideal for:
Also Read: Top 10 Free Java Courses with Certificates for In-Demand Java Jobs
Before you begin building the Library Management System Project in Java, you must prepare your development environment and understand the tools you'll be using.
Setting up your project correctly saves time and avoids errors later. Each tool and technology you choose affects how the system is built, tested, and maintained. Whether it’s the Java version for compatibility or the database for storing records, these components ensure your application runs smoothly.
Here's what you need to know before diving into development.
Tools and Technologies Used
Also Read: Java Swing Project: Properties, Advantages & Frameworks
Now that your setup is complete, it’s time to build the Library Management System project in Java.
A library management system allows you to keep and manage library books and student records when needed. This is a simple Java project with a good and interactive-looking GUI. The Library Management System Project in Java and MySQL is a simple and basic-level small project for learning purposes.
Also, you can modify this system to meet your requirements and develop a perfect advanced-level project.
The login/logout module secures the system by authenticating users before they access the library functions. You’ll implement user credential validation and session management.
Code snippet:
() {
String name = txt_username.getText();
String pwd = txt_password.getText();
if (name.equals("")) {
JOptionPane.showMessageDialog(this, "please enter your username!");/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java to edit this template
*/
package jframe;
import java.awt.Desktop;
import java.awt.Toolkit;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
/**
*
* @author Name
*/
public class LoginPage extends javax.swing.JFrame {
/**
* Creates new form SignUpPage
*/
// Default constructor
public LoginPage() {
initComponents();
Connect();
setIconImage();
txt_username.requestFocus();
}
// Set Icon method
private void setIconImage() {
setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("logo.png")));
}
Connection con;
PreparedStatement pst;
ResultSet rs;
// Database connectivity
public void Connect() {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost/library_management_system", "root", "");
} catch (SQLException | ClassNotFoundException ex) {
Logger.getLogger(LoginPage.class.getName()).log(Level.SEVERE, null, ex);
}
}
// Validate Login credentials
public boolean validateLogin
return false;
}
if (pwd.equals("")) {
JOptionPane.showMessageDialog(this, "please enter your password!");
return false;
}
return true;
}
// Login method
public void login() {
String name = txt_username.getText();
String pwd = txt_password.getText();
String utype = txt_usertype.getSelectedItem().toString();
try {
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost/library_management_system", "root", "");
pst = con.prepareStatement("select * from users where username=? and password=? and usertype=?");
pst.setString(1, name);
pst.setString(2, pwd);
pst.setString(3, utype);
rs = pst.executeQuery();
if (rs.next()) {
int id = rs.getInt("id");
JOptionPane.showMessageDialog(this, "Login successful!");
new HomePage(id, name, utype).setVisible(true);
this.dispose();
} else {
JOptionPane.showMessageDialog(this, "Incorrect username or password");
}
} catch (SQLException | ClassNotFoundException ex) {
Logger.getLogger(LoginPage.class.getName()).log(Level.SEVERE, null, ex);
}
}
/**
* 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() {
jPanel1 = new javax.swing.JPanel();
jLabel5 = new javax.swing.JLabel();
jPanel3 = new javax.swing.JPanel();
jLabel11 = new javax.swing.JLabel();
jPanel4 = new javax.swing.JPanel();
jLabel16 = new javax.swing.JLabel();
jLabel17 = new javax.swing.JLabel();
jLabel18 = new javax.swing.JLabel();
jLabel27 = new javax.swing.JLabel();
jLabel9 = new javax.swing.JLabel();
jLabel28 = new javax.swing.JLabel();
jLabel29 = new javax.swing.JLabel();
jLabel19 = new javax.swing.JLabel();
jLabel20 = new javax.swing.JLabel();
jCTextField3 = new app.bolivia.swing.JCTextField();
jLabel4 = new javax.swing.JLabel();
jLabel13 = new javax.swing.JLabel();
jLabel14 = new javax.swing.JLabel();
jCTextField2 = new app.bolivia.swing.JCTextField();
jPanel2 = new javax.swing.JPanel();
jLabel3 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
jLabel8 = new javax.swing.JLabel();
txt_username = new app.bolivia.swing.JCTextField();
jLabel1 = new javax.swing.JLabel();
txt_password = new app.bolivia.swing.JCTextField();
jLabel21 = new javax.swing.JLabel();
jLabel22 = new javax.swing.JLabel();
loginbutton = new rojerusan.RSMaterialButtonRectangle();
jLabel12 = new javax.swing.JLabel();
txt_usertype = new javax.swing.JComboBox<>();
jLabel23 = new javax.swing.JLabel();
jLabel24 = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setUndecorated(true);
getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel1.setBackground(new java.awt.Color(255, 255, 255));
jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jLabel5.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icons/library-3.png.png"))); // NOI18N
jPanel1.add(jLabel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(60, 190, 750, 570));
jPanel3.setBackground(new java.awt.Color(255, 255, 255));
jPanel3.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jLabel11.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icons/signup-library-icon.png"))); // NOI18N
jPanel3.add(jLabel11, new org.netbeans.lib.awtextra.AbsoluteConstraints(60, 190, 750, 570));
jPanel4.setBackground(new java.awt.Color(255, 255, 255));
jPanel4.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jLabel16.setFont(new java.awt.Font("Calibri", 1, 48)); // NOI18N
jLabel16.setForeground(new java.awt.Color(255, 51, 51));
jLabel16.setText("WELCOME TO");
jPanel4.add(jLabel16, new org.netbeans.lib.awtextra.AbsoluteConstraints(340, 70, -1, -1));
jLabel17.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icons/signup-library-icon.png"))); // NOI18N
jPanel4.add(jLabel17, new org.netbeans.lib.awtextra.AbsoluteConstraints(60, 190, 750, 570));
jLabel18.setFont(new java.awt.Font("Calibri", 1, 14)); // NOI18N
jLabel18.setForeground(new java.awt.Color(255, 51, 51));
jLabel18.setText("EAGLE");
jLabel18.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel18.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel18MouseClicked(evt);
}
});
jPanel4.add(jLabel18, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 10, -1, -1));
jLabel27.setFont(new java.awt.Font("Calibri", 1, 14)); // NOI18N
jLabel27.setText("Naveenkumar J");
jLabel27.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel27.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel27MouseClicked(evt);
}
});
jPanel4.add(jLabel27, new org.netbeans.lib.awtextra.AbsoluteConstraints(490, 790, -1, -1));
jLabel9.setFont(new java.awt.Font("Calibri", 1, 48)); // NOI18N
jLabel9.setForeground(new java.awt.Color(0, 0, 255));
jLabel9.setText("Library Management System");
jPanel4.add(jLabel9, new org.netbeans.lib.awtextra.AbsoluteConstraints(210, 120, 590, 50));
jLabel28.setFont(new java.awt.Font("Calibri", 1, 14)); // NOI18N
jLabel28.setForeground(new java.awt.Color(0, 102, 204));
jLabel28.setText("PROGRAMMER");
jLabel28.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel28.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel28MouseClicked(evt);
}
});
jPanel4.add(jLabel28, new org.netbeans.lib.awtextra.AbsoluteConstraints(50, 10, -1, -1));
jLabel29.setFont(new java.awt.Font("Calibri", 0, 14)); // NOI18N
jLabel29.setText("Developed by:");
jPanel4.add(jLabel29, new org.netbeans.lib.awtextra.AbsoluteConstraints(400, 790, -1, -1));
jPanel3.add(jPanel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 990, 830));
jLabel19.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icons/icons8_Account_50px.png"))); // NOI18N
jPanel3.add(jLabel19, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));
jLabel20.setFont(new java.awt.Font("Tahoma", 1, 16)); // NOI18N
jLabel20.setForeground(new java.awt.Color(255, 255, 255));
jLabel20.setText("USERNAME");
jPanel3.add(jLabel20, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));
jCTextField3.setBackground(new java.awt.Color(102, 102, 255));
jCTextField3.setBorder(javax.swing.BorderFactory.createMatteBorder(0, 0, 2, 0, new java.awt.Color(255, 255, 255)));
jCTextField3.setCaretColor(new java.awt.Color(204, 204, 204));
jCTextField3.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jCTextField3.setPhColor(new java.awt.Color(204, 204, 204));
jCTextField3.setPlaceholder("Enter username");
jPanel3.add(jCTextField3, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));
jLabel4.setFont(new java.awt.Font("Tahoma", 1, 30)); // NOI18N
jLabel4.setForeground(new java.awt.Color(255, 51, 51));
jLabel4.setText("WELCOME TO");
jPanel3.add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(360, 60, -1, -1));
jPanel1.add(jPanel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 990, 830));
jLabel13.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icons/icons8_Account_50px.png"))); // NOI18N
jPanel1.add(jLabel13, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));
jLabel14.setFont(new java.awt.Font("Tahoma", 1, 16)); // NOI18N
jLabel14.setForeground(new java.awt.Color(255, 255, 255));
jLabel14.setText("USERNAME");
jPanel1.add(jLabel14, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));
jCTextField2.setBackground(new java.awt.Color(102, 102, 255));
jCTextField2.setBorder(javax.swing.BorderFactory.createMatteBorder(0, 0, 2, 0, new java.awt.Color(255, 255, 255)));
jCTextField2.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jCTextField2.setPlaceholder("Enter username");
jPanel1.add(jCTextField2, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));
getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 990, 830));
jPanel2.setBackground(new java.awt.Color(51, 153, 255));
jPanel2.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jLabel3.setFont(new java.awt.Font("Tahoma", 1, 16)); // NOI18N
jLabel3.setForeground(new java.awt.Color(255, 255, 255));
jLabel3.setText("USERNAME");
jPanel2.add(jLabel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(110, 270, -1, -1));
jLabel7.setFont(new java.awt.Font("Tahoma", 1, 30)); // NOI18N
jLabel7.setForeground(new java.awt.Color(255, 255, 255));
jLabel7.setText("X");
jLabel7.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel7.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel7MouseClicked(evt);
}
});
jPanel2.add(jLabel7, new org.netbeans.lib.awtextra.AbsoluteConstraints(510, 10, 37, 20));
jLabel8.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
jLabel8.setForeground(new java.awt.Color(51, 51, 51));
jLabel8.setText("Welcome to your Account!");
jLabel8.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel8.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel8MouseClicked(evt);
}
});
jPanel2.add(jLabel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(170, 140, -1, -1));
txt_username.setBackground(new java.awt.Color(51, 153, 255));
txt_username.setBorder(javax.swing.BorderFactory.createMatteBorder(0, 0, 2, 0, new java.awt.Color(255, 255, 255)));
txt_username.setForeground(new java.awt.Color(51, 51, 51));
txt_username.setCaretColor(new java.awt.Color(102, 102, 102));
txt_username.setDisabledTextColor(new java.awt.Color(102, 102, 102));
txt_username.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
txt_username.setName(""); // NOI18N
txt_username.setPhColor(new java.awt.Color(51, 51, 51));
txt_username.setPlaceholder("Enter username");
txt_username.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
txt_usernameFocusLost(evt);
}
});
jPanel2.add(txt_username, new org.netbeans.lib.awtextra.AbsoluteConstraints(110, 298, 300, -1));
jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icons/icons8_Account_50px.png"))); // NOI18N
jPanel2.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(55, 280, 43, -1));
txt_password.setBackground(new java.awt.Color(51, 153, 255));
txt_password.setBorder(javax.swing.BorderFactory.createMatteBorder(0, 0, 2, 0, new java.awt.Color(255, 255, 255)));
txt_password.setForeground(new java.awt.Color(51, 51, 51));
txt_password.setCaretColor(new java.awt.Color(204, 204, 204));
txt_password.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
txt_password.setPhColor(new java.awt.Color(51, 51, 51));
txt_password.setPlaceholder("Enter password");
txt_password.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
txt_passwordActionPerformed(evt);
}
});
jPanel2.add(txt_password, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 420, 300, -1));
jLabel21.setFont(new java.awt.Font("Tahoma", 1, 16)); // NOI18N
jLabel21.setForeground(new java.awt.Color(255, 255, 255));
jLabel21.setText("USERTYPE");
jPanel2.add(jLabel21, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 510, -1, -1));
jLabel22.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icons/icons8_Forgot_Password_50px_4.png"))); // NOI18N
jPanel2.add(jLabel22, new org.netbeans.lib.awtextra.AbsoluteConstraints(60, 530, 55, -1));
loginbutton.setBackground(new java.awt.Color(0, 0, 255));
loginbutton.setText("login");
loginbutton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
loginbuttonActionPerformed(evt);
}
});
jPanel2.add(loginbutton, new org.netbeans.lib.awtextra.AbsoluteConstraints(150, 630, 200, 58));
jLabel12.setFont(new java.awt.Font("Tahoma", 1, 30)); // NOI18N
jLabel12.setForeground(new java.awt.Color(255, 255, 255));
jLabel12.setText("Login Page");
jPanel2.add(jLabel12, new org.netbeans.lib.awtextra.AbsoluteConstraints(210, 90, -1, -1));
txt_usertype.setBackground(new java.awt.Color(51, 153, 255));
txt_usertype.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
txt_usertype.setForeground(new java.awt.Color(51, 51, 51));
txt_usertype.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Select", "Admin", "Librarian", "Student", "Guest" }));
txt_usertype.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jPanel2.add(txt_usertype, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 540, 300, 40));
jLabel23.setFont(new java.awt.Font("Tahoma", 1, 16)); // NOI18N
jLabel23.setForeground(new java.awt.Color(255, 255, 255));
jLabel23.setText("PASSWORD");
jPanel2.add(jLabel23, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 400, -1, -1));
jLabel24.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icons/icons8_Secure_50px.png"))); // NOI18N
jPanel2.add(jLabel24, new org.netbeans.lib.awtextra.AbsoluteConstraints(60, 400, 55, -1));
getContentPane().add(jPanel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(990, 0, 550, 830));
pack();
setLocationRelativeTo(null);
}// </editor-fold>//GEN-END:initComponents
private void txt_passwordActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_txt_passwordActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_txt_passwordActionPerformed
private void loginbuttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_loginbuttonActionPerformed
// TODO add your handling code here:
if (validateLogin()) {
login();
}
}//GEN-LAST:event_loginbuttonActionPerformed
private void jLabel7MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel7MouseClicked
// TODO add your handling code here:
System.exit(0);
}//GEN-LAST:event_jLabel7MouseClicked
private void txt_usernameFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txt_usernameFocusLost
// TODO add your handling code here:
}//GEN-LAST:event_txt_usernameFocusLost
// Developer details
private void jLabel27MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel27MouseClicked
// TODO add your handling code here:
try {
// TODO add your handling code here:
Desktop.getDesktop().browse(new URI("https://github.com/naveenkumar-j"));
} catch (IOException ex) {
Logger.getLogger(LoginPage.class.getName()).log(Level.SEVERE, null, ex);
} catch (URISyntaxException ex) {
Logger.getLogger(LoginPage.class.getName()).log(Level.SEVERE, null, ex);
}
}//GEN-LAST:event_jLabel27MouseClicked
// Instagram details
private void jLabel28MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel28MouseClicked
// TODO add your handling code here:
try {
// TODO add your handling code here:
Desktop.getDesktop().browse(new URI("https://www.instagram.com/eagle_programming/?hl=en"));
} catch (IOException ex) {
Logger.getLogger(LoginPage.class.getName()).log(Level.SEVERE, null, ex);
} catch (URISyntaxException ex) {
Logger.getLogger(LoginPage.class.getName()).log(Level.SEVERE, null, ex);
}
}//GEN-LAST:event_jLabel28MouseClicked
// Instagram details
private void jLabel18MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel18MouseClicked
// TODO add your handling code here:
try {
// TODO add your handling code here:
Desktop.getDesktop().browse(new URI("https://www.instagram.com/eagle_programming/?hl=en"));
} catch (IOException ex) {
Logger.getLogger(LoginPage.class.getName()).log(Level.SEVERE, null, ex);
} catch (URISyntaxException ex) {
Logger.getLogger(LoginPage.class.getName()).log(Level.SEVERE, null, ex);
}
}//GEN-LAST:event_jLabel18MouseClicked
private void jLabel8MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel8MouseClicked
// TODO add your handling code here:
}//GEN-LAST:event_jLabel8MouseClicked
/**
* @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(LoginPage.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(LoginPage.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(LoginPage.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(LoginPage.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new LoginPage().setVisible(true);
}
});
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private app.bolivia.swing.JCTextField jCTextField2;
private app.bolivia.swing.JCTextField jCTextField3;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel12;
private javax.swing.JLabel jLabel13;
private javax.swing.JLabel jLabel14;
private javax.swing.JLabel jLabel16;
private javax.swing.JLabel jLabel17;
private javax.swing.JLabel jLabel18;
private javax.swing.JLabel jLabel19;
private javax.swing.JLabel jLabel20;
private javax.swing.JLabel jLabel21;
private javax.swing.JLabel jLabel22;
private javax.swing.JLabel jLabel23;
private javax.swing.JLabel jLabel24;
private javax.swing.JLabel jLabel27;
private javax.swing.JLabel jLabel28;
private javax.swing.JLabel jLabel29;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JPanel jPanel4;
private rojerusan.RSMaterialButtonRectangle loginbutton;
private app.bolivia.swing.JCTextField txt_password;
private app.bolivia.swing.JCTextField txt_username;
private javax.swing.JComboBox<String> txt_usertype;
// End of variables declaration//GEN-END:variables
}
Code Explanation: This method connects to the database, checks the username and password, and returns a boolean indicating success. You’ll learn how to handle password hashing and session timeouts.
Output: A simple login form redirecting to the main dashboard on successful authentication or showing an error message on failure.
Once users can securely log in, the next step is managing user accounts and profiles.
This section covers managing user accounts and library resources such as books and student records. Admins can create, update, and delete member profiles, organize the book catalog, and view student details. These functions form the administrative backbone of the Library Management System Project in Java.
You create, update, and delete user accounts here. This module allows library admins to manage member information and permissions.
Code snippet:
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java to edit this template
*/
package jframe;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Desktop;
import java.awt.Toolkit;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PiePlot;
import org.jfree.data.general.DefaultPieDataset;
/**
*
* @author Name
*/
public class ManageStudents extends javax.swing.JFrame {
/**
* Creates new form ManageBooks
*/
// default constructor
public ManageStudents() {
initComponents();
Connect();
Student_Load();
showPieChart();
setIconImage();
}
// Set Icon method
private void setIconImage() {
setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("logo.png")));
}
int id;
String uname;
String usertype;
// Parameterized constructor
public ManageStudents(int id, String username, String utype) {
initComponents();
Connect();
showPieChart();
Student_Load();
setIconImage();
this.id = id;
this.uname = username;
this.usertype = utype;
jLabel19.setText(utype);
if (usertype.equals("Admin")) {
addbutton.setEnabled(true);
editbutton.setEnabled(true);
deletebutton.setEnabled(true);
editbutton.setEnabled(true);
} else if (usertype.equals("Librarian")) {
addbutton.setEnabled(true);
editbutton.setEnabled(true);
deletebutton.setEnabled(true);
editbutton.setEnabled(true);
} else {
addbutton.setEnabled(false);
editbutton.setEnabled(false);
deletebutton.setEnabled(false);
editbutton.setEnabled(false);
}
}
Connection con;
PreparedStatement pst;
ResultSet rs;
DefaultTableModel d;
// Database connectivity
public void Connect() {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost/library_management_system", "root", "");
} catch (SQLException ex) {
Logger.getLogger(ManageStudents.class.getName()).log(Level.SEVERE, null, ex);
} catch (ClassNotFoundException ex) {
Logger.getLogger(ManageStudents.class.getName()).log(Level.SEVERE, null, ex);
}
}
// Load Student details from the database table
public void Student_Load() {
int c;
try {
pst = con.prepareStatement("select * from student_details");
rs = pst.executeQuery();
ResultSetMetaData rsd = rs.getMetaData();
c = rsd.getColumnCount();
d = (DefaultTableModel) jTable1.getModel();
d.setRowCount(0);
while (rs.next()) {
Vector v2 = new Vector();
for (int i = 1; i <= c; i++) {
v2.add(rs.getString("student_id"));
v2.add(rs.getString("student_name"));
v2.add(rs.getString("course"));
v2.add(rs.getString("branch"));
}
d.addRow(v2);
}
} catch (SQLException ex) {
Logger.getLogger(ManageStudents.class.getName()).log(Level.SEVERE, null, ex);
}
}
// Checking duplicate student Records
public boolean checkDublicateStudent() {
boolean isExits = false;
try {
String id = txt_studentid.getText();
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost/library_management_system", "root", "");
pst = con.prepareStatement("select * from student_details where student_id=?");
pst.setString(1, id);
rs = pst.executeQuery();
if (rs.next()) {
isExits = true;
} else {
isExits = false;
}
} catch (Exception e) {
e.printStackTrace();
}
return isExits;
}
// Visualization method
public void showPieChart() {
//create dataset
DefaultPieDataset barDataset = new DefaultPieDataset();
try {
pst = con.prepareStatement("select course, count(*) as student_count from student_details group by course");
rs = pst.executeQuery();
while (rs.next()) {
barDataset.setValue(rs.getString("course"), new Double(rs.getString("student_count")));
}
} catch (Exception e) {
e.printStackTrace();
}
//create chart
JFreeChart piechart = ChartFactory.createPieChart("student's details", barDataset, true, true, false);//explain
PiePlot piePlot = (PiePlot) piechart.getPlot();
piePlot.setBackgroundPaint(Color.white);
//create chartPanel to display chart(graph)
ChartPanel barChartPanel = new ChartPanel(piechart);
panelPieChart.removeAll();
panelPieChart.add(barChartPanel, BorderLayout.CENTER);
panelPieChart.validate();
}
/**
* 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() {
jPanel3 = new javax.swing.JPanel();
jLabel10 = new javax.swing.JLabel();
jPanel5 = new javax.swing.JPanel();
jPanel6 = new javax.swing.JPanel();
jPanel1 = new javax.swing.JPanel();
jPanel2 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
jLabel8 = new javax.swing.JLabel();
jLabel9 = new javax.swing.JLabel();
editbutton = new rojerusan.RSMaterialButtonRectangle();
clearbutton = new rojerusan.RSMaterialButtonRectangle();
addbutton = new rojerusan.RSMaterialButtonRectangle();
deletebutton = new rojerusan.RSMaterialButtonRectangle();
jPanel4 = new javax.swing.JPanel();
jLabel11 = new javax.swing.JLabel();
jPanel10 = new javax.swing.JPanel();
jLabel18 = new javax.swing.JLabel();
txt_studentid = new app.bolivia.swing.JCTextField();
txt_studentname = new app.bolivia.swing.JCTextField();
txt_branch = new javax.swing.JComboBox<>();
txt_course = new javax.swing.JComboBox<>();
jPanel7 = new javax.swing.JPanel();
jPanel8 = new javax.swing.JPanel();
jLabel12 = new javax.swing.JLabel();
jScrollPane2 = new javax.swing.JScrollPane();
jTable1 = new rojeru_san.complementos.RSTableMetro();
jLabel13 = new javax.swing.JLabel();
jPanel9 = new javax.swing.JPanel();
jLabel14 = new javax.swing.JLabel();
jLabel15 = new javax.swing.JLabel();
jLabel16 = new javax.swing.JLabel();
jLabel17 = new javax.swing.JLabel();
jLabel19 = new javax.swing.JLabel();
jLabel20 = new javax.swing.JLabel();
jLabel21 = new javax.swing.JLabel();
jLabel22 = new javax.swing.JLabel();
panelPieChart = new javax.swing.JPanel();
jPanel3.setBackground(new java.awt.Color(255, 51, 51));
jLabel10.setFont(new java.awt.Font("Tahoma", 1, 17)); // NOI18N
jLabel10.setForeground(new java.awt.Color(204, 204, 204));
jLabel10.setIcon(new javax.swing.ImageIcon(getClass().getResource("/AddNewBookIcons/icons8_Rewind_48px.png"))); // NOI18N
jLabel10.setText("BACK");
jLabel10.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel10.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel10MouseClicked(evt);
}
});
javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel10, javax.swing.GroupLayout.PREFERRED_SIZE, 98, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(16, Short.MAX_VALUE))
);
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel10, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
jPanel5.setLayout(jPanel5Layout);
jPanel5Layout.setHorizontalGroup(
jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 100, Short.MAX_VALUE)
);
jPanel5Layout.setVerticalGroup(
jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 100, Short.MAX_VALUE)
);
javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6);
jPanel6.setLayout(jPanel6Layout);
jPanel6Layout.setHorizontalGroup(
jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 100, Short.MAX_VALUE)
);
jPanel6Layout.setVerticalGroup(
jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 100, Short.MAX_VALUE)
);
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setUndecorated(true);
getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel1.setBackground(new java.awt.Color(51, 153, 255));
jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel2.setBackground(new java.awt.Color(255, 51, 51));
jLabel1.setFont(new java.awt.Font("Tahoma", 1, 17)); // NOI18N
jLabel1.setForeground(new java.awt.Color(255, 255, 255));
jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/AddNewBookIcons/icons8_Rewind_48px.png"))); // NOI18N
jLabel1.setText("BACK");
jLabel1.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel1MouseClicked(evt);
}
});
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 98, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(16, Short.MAX_VALUE))
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel1.add(jPanel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 120, 40));
jLabel3.setFont(new java.awt.Font("Tahoma", 1, 16)); // NOI18N
jLabel3.setForeground(new java.awt.Color(255, 255, 255));
jLabel3.setText("Student Id");
jPanel1.add(jLabel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 140, -1, -1));
jLabel2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/AddNewBookIcons/icons8_Contact_26px.png"))); // NOI18N
jPanel1.add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 150, 50, 60));
jLabel4.setFont(new java.awt.Font("Tahoma", 1, 16)); // NOI18N
jLabel4.setForeground(new java.awt.Color(255, 255, 255));
jLabel4.setText("Student Name");
jPanel1.add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 250, -1, -1));
jLabel5.setIcon(new javax.swing.ImageIcon(getClass().getResource("/AddNewBookIcons/icons8_Moleskine_26px.png"))); // NOI18N
jPanel1.add(jLabel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 280, 43, -1));
jLabel6.setFont(new java.awt.Font("Tahoma", 1, 16)); // NOI18N
jLabel6.setForeground(new java.awt.Color(255, 255, 255));
jLabel6.setText("Student Course");
jPanel1.add(jLabel6, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 380, -1, -1));
jLabel7.setIcon(new javax.swing.ImageIcon(getClass().getResource("/AddNewBookIcons/icons8_Collaborator_Male_26px.png"))); // NOI18N
jPanel1.add(jLabel7, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 410, 43, -1));
jLabel8.setFont(new java.awt.Font("Tahoma", 1, 16)); // NOI18N
jLabel8.setForeground(new java.awt.Color(255, 255, 255));
jLabel8.setText("Student Branch");
jPanel1.add(jLabel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 500, -1, -1));
jLabel9.setIcon(new javax.swing.ImageIcon(getClass().getResource("/AddNewBookIcons/icons8_Unit_26px.png"))); // NOI18N
jPanel1.add(jLabel9, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 530, 43, -1));
editbutton.setBackground(new java.awt.Color(255, 51, 51));
editbutton.setText("EDIT");
editbutton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
editbuttonActionPerformed(evt);
}
});
jPanel1.add(editbutton, new org.netbeans.lib.awtextra.AbsoluteConstraints(300, 620, 170, 50));
clearbutton.setBackground(new java.awt.Color(255, 51, 51));
clearbutton.setText("CLEAR");
clearbutton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
clearbuttonActionPerformed(evt);
}
});
jPanel1.add(clearbutton, new org.netbeans.lib.awtextra.AbsoluteConstraints(300, 700, 170, 50));
addbutton.setBackground(new java.awt.Color(255, 51, 51));
addbutton.setText("Add");
addbutton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
addbuttonActionPerformed(evt);
}
});
jPanel1.add(addbutton, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 620, 170, 50));
deletebutton.setBackground(new java.awt.Color(255, 51, 51));
deletebutton.setText("DELETE");
deletebutton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
deletebuttonActionPerformed(evt);
}
});
jPanel1.add(deletebutton, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 700, 170, 50));
jPanel4.setBackground(new java.awt.Color(255, 51, 51));
jLabel11.setFont(new java.awt.Font("Tahoma", 1, 17)); // NOI18N
jLabel11.setForeground(new java.awt.Color(204, 204, 204));
jLabel11.setIcon(new javax.swing.ImageIcon(getClass().getResource("/AddNewBookIcons/icons8_Rewind_48px.png"))); // NOI18N
jLabel11.setText("BACK");
jLabel11.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel11.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel11MouseClicked(evt);
}
});
javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
jPanel4.setLayout(jPanel4Layout);
jPanel4Layout.setHorizontalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel11, javax.swing.GroupLayout.PREFERRED_SIZE, 98, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(16, Short.MAX_VALUE))
);
jPanel4Layout.setVerticalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel11, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel1.add(jPanel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 120, 40));
jPanel10.setBackground(new java.awt.Color(255, 51, 51));
jLabel18.setFont(new java.awt.Font("Tahoma", 1, 17)); // NOI18N
jLabel18.setForeground(new java.awt.Color(255, 255, 255));
jLabel18.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_Library_32px.png"))); // NOI18N
jLabel18.setText("About Project");
jLabel18.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel18.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel18MouseClicked(evt);
}
});
javax.swing.GroupLayout jPanel10Layout = new javax.swing.GroupLayout(jPanel10);
jPanel10.setLayout(jPanel10Layout);
jPanel10Layout.setHorizontalGroup(
jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel10Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel18)
.addGap(17, 17, 17))
);
jPanel10Layout.setVerticalGroup(
jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel10Layout.createSequentialGroup()
.addComponent(jLabel18, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 8, Short.MAX_VALUE))
);
jPanel1.add(jPanel10, new org.netbeans.lib.awtextra.AbsoluteConstraints(390, 0, 190, 40));
txt_studentid.setBackground(new java.awt.Color(51, 153, 255));
txt_studentid.setBorder(javax.swing.BorderFactory.createMatteBorder(0, 0, 2, 0, new java.awt.Color(255, 255, 255)));
txt_studentid.setForeground(new java.awt.Color(51, 51, 51));
txt_studentid.setCaretColor(new java.awt.Color(204, 204, 204));
txt_studentid.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
txt_studentid.setPhColor(new java.awt.Color(51, 51, 51));
txt_studentid.setPlaceholder("Enter Student Id");
txt_studentid.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
txt_studentidFocusLost(evt);
}
});
jPanel1.add(txt_studentid, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 170, 300, -1));
txt_studentname.setBackground(new java.awt.Color(51, 153, 255));
txt_studentname.setBorder(javax.swing.BorderFactory.createMatteBorder(0, 0, 2, 0, new java.awt.Color(255, 255, 255)));
txt_studentname.setForeground(new java.awt.Color(51, 51, 51));
txt_studentname.setCaretColor(new java.awt.Color(204, 204, 204));
txt_studentname.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
txt_studentname.setPhColor(new java.awt.Color(51, 51, 51));
txt_studentname.setPlaceholder("Enter Student name");
txt_studentname.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
txt_studentnameFocusLost(evt);
}
});
jPanel1.add(txt_studentname, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 280, 300, -1));
txt_branch.setFont(new java.awt.Font("Tahoma", 0, 16)); // NOI18N
txt_branch.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Select", "Tamil", "English", "Chemistry", "Biology", "Physics", "Computer Science", " ", " " }));
jPanel1.add(txt_branch, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 530, 310, 40));
txt_course.setFont(new java.awt.Font("Tahoma", 0, 16)); // NOI18N
txt_course.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Select", "B.Sc", "M.Sc", "PHD" }));
jPanel1.add(txt_course, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 410, 310, 40));
getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 580, 810));
jPanel7.setBackground(new java.awt.Color(255, 255, 255));
jPanel7.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel8.setBackground(new java.awt.Color(51, 153, 255));
jPanel8.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jPanel8.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jPanel8MouseClicked(evt);
}
});
jPanel8.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jLabel12.setFont(new java.awt.Font("Segoe UI", 1, 18)); // NOI18N
jLabel12.setForeground(new java.awt.Color(255, 255, 255));
jLabel12.setText("X");
jLabel12.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel12MouseClicked(evt);
}
});
jPanel8.add(jLabel12, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 0, -1, -1));
jPanel7.add(jPanel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(650, 0, 60, 30));
jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String [] {
"Student ID", "Student Name", "Year", "Department"
}
));
jTable1.setColorBackgoundHead(new java.awt.Color(51, 153, 255));
jTable1.setColorFilasBackgound2(new java.awt.Color(255, 255, 255));
jTable1.setColorSelBackgound(new java.awt.Color(255, 51, 51));
jTable1.setFuenteFilas(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jTable1.setFuenteFilasSelect(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jTable1.setFuenteHead(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jTable1.setRowHeight(30);
jTable1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jTable1MouseClicked(evt);
}
});
jScrollPane2.setViewportView(jTable1);
jPanel7.add(jScrollPane2, new org.netbeans.lib.awtextra.AbsoluteConstraints(60, 150, 570, 170));
jLabel13.setBackground(new java.awt.Color(255, 0, 51));
jLabel13.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N
jLabel13.setForeground(new java.awt.Color(255, 51, 51));
jLabel13.setIcon(new javax.swing.ImageIcon(getClass().getResource("/AddNewBookIcons/icons8_Student_Male_100px.png"))); // NOI18N
jLabel13.setText("Manage Students");
jPanel7.add(jLabel13, new org.netbeans.lib.awtextra.AbsoluteConstraints(100, 40, -1, -1));
jPanel9.setBackground(new java.awt.Color(255, 51, 51));
javax.swing.GroupLayout jPanel9Layout = new javax.swing.GroupLayout(jPanel9);
jPanel9.setLayout(jPanel9Layout);
jPanel9Layout.setHorizontalGroup(
jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 240, Short.MAX_VALUE)
);
jPanel9Layout.setVerticalGroup(
jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 3, Short.MAX_VALUE)
);
jPanel7.add(jPanel9, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 110, 240, 3));
jLabel14.setText("Developed by:");
jPanel7.add(jLabel14, new org.netbeans.lib.awtextra.AbsoluteConstraints(1050, 640, -1, -1));
jLabel15.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
jLabel15.setText("Naveenkumar J");
jLabel15.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel15.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel15MouseClicked(evt);
}
});
jPanel7.add(jLabel15, new org.netbeans.lib.awtextra.AbsoluteConstraints(1130, 640, -1, -1));
jLabel16.setText("Developed by:");
jPanel7.add(jLabel16, new org.netbeans.lib.awtextra.AbsoluteConstraints(1050, 640, -1, -1));
jLabel17.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
jLabel17.setText("Naveenkumar J");
jLabel17.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel17.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel17MouseClicked(evt);
}
});
jPanel7.add(jLabel17, new org.netbeans.lib.awtextra.AbsoluteConstraints(1130, 640, -1, -1));
jLabel19.setFont(new java.awt.Font("Tahoma", 1, 17)); // NOI18N
jLabel19.setForeground(new java.awt.Color(51, 51, 51));
jLabel19.setText(" usertype");
jLabel19.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel19.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel19MouseClicked(evt);
}
});
jPanel7.add(jLabel19, new org.netbeans.lib.awtextra.AbsoluteConstraints(560, 10, -1, -1));
jLabel20.setFont(new java.awt.Font("Tahoma", 1, 17)); // NOI18N
jLabel20.setForeground(new java.awt.Color(51, 51, 51));
jLabel20.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_Read_Online_26px.png"))); // NOI18N
jLabel20.setText("Welcome,");
jLabel20.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel20.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel20MouseClicked(evt);
}
});
jPanel7.add(jLabel20, new org.netbeans.lib.awtextra.AbsoluteConstraints(450, 0, 120, 40));
jLabel21.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
jLabel21.setText("Naveenkumar J");
jLabel21.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel21MouseClicked(evt);
}
});
jPanel7.add(jLabel21, new org.netbeans.lib.awtextra.AbsoluteConstraints(580, 750, -1, -1));
jLabel22.setText("Developed by:");
jPanel7.add(jLabel22, new org.netbeans.lib.awtextra.AbsoluteConstraints(500, 750, -1, -1));
panelPieChart.setLayout(new java.awt.BorderLayout());
jPanel7.add(panelPieChart, new org.netbeans.lib.awtextra.AbsoluteConstraints(150, 380, 450, 330));
getContentPane().add(jPanel7, new org.netbeans.lib.awtextra.AbsoluteConstraints(580, 0, 710, 820));
setSize(new java.awt.Dimension(1289, 788));
setLocationRelativeTo(null);
}// </editor-fold>//GEN-END:initComponents
private void jLabel1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel1MouseClicked
// TODO add your handling code here:
HomePage hm = new HomePage(id, uname, usertype);
hm.setVisible(true);
this.dispose();
}//GEN-LAST:event_jLabel1MouseClicked
private void jLabel10MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel10MouseClicked
// TODO add your handling code here:
}//GEN-LAST:event_jLabel10MouseClicked
private void jLabel11MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel11MouseClicked
// TODO add your handling code here:
}//GEN-LAST:event_jLabel11MouseClicked
private void jLabel12MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel12MouseClicked
// TODO add your handling code here:
System.exit(0);
}//GEN-LAST:event_jLabel12MouseClicked
private void jPanel8MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jPanel8MouseClicked
// TODO add your handling code here:
System.exit(0);
}//GEN-LAST:event_jPanel8MouseClicked
// Insert records into the database
private void addbuttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_addbuttonActionPerformed
// TODO add your handling code here:
try {
// TODO add your handling code here:
String id = txt_studentid.getText();
String name = txt_studentname.getText();
String course = txt_course.getSelectedItem().toString();
String branch = txt_branch.getSelectedItem().toString();
pst = con.prepareStatement("insert into student_details(student_id,student_name,course,branch)values(?,?,?,?)");
pst.setString(1, id);
pst.setString(2, name);
pst.setString(3, course);
pst.setString(4, branch);
pst.executeUpdate();
JOptionPane.showMessageDialog(this, "Student Details added successfully...");
txt_studentid.setText("");
txt_studentname.setText("");
txt_course.setSelectedIndex(0);
txt_branch.setSelectedIndex(0);
txt_studentid.requestFocus();
Student_Load();
} catch (SQLException ex) {
Logger.getLogger(ManageStudents.class.getName()).log(Level.SEVERE, null, ex);
}
}//GEN-LAST:event_addbuttonActionPerformed
// Clear text method
private void clearbuttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_clearbuttonActionPerformed
// TODO add your handling code here:
txt_studentid.setText("");
txt_studentname.setText("");
txt_course.setSelectedIndex(0);
txt_branch.setSelectedIndex(0);
txt_studentid.requestFocus();
addbutton.setEnabled(true);
}//GEN-LAST:event_clearbuttonActionPerformed
// Mouse click to form method
private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTable1MouseClicked
// TODO add your handling code here:
d = (DefaultTableModel) jTable1.getModel();
int selectIndex = jTable1.getSelectedRow();
String student_id = d.getValueAt(selectIndex, 0).toString();
txt_studentid.setText(student_id);
txt_studentname.setText(d.getValueAt(selectIndex, 1).toString());
txt_course.setSelectedItem(d.getValueAt(selectIndex, 2).toString());
txt_branch.setSelectedItem(d.getValueAt(selectIndex, 3).toString());
addbutton.setEnabled(false);
}//GEN-LAST:event_jTable1MouseClicked
// Edit Record details
private void editbuttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_editbuttonActionPerformed
// TODO add your handling code here:
try {
// TODO add your handling code here:
d = (DefaultTableModel) jTable1.getModel();
int selectIndex = jTable1.getSelectedRow();
String id = d.getValueAt(selectIndex, 0).toString();
//String id = txt_bookid.getText();
String name = txt_studentname.getText();
String course = txt_course.getSelectedItem().toString();
String branch = txt_branch.getSelectedItem().toString();
pst = con.prepareStatement("update student_details set student_id=?,student_name=?,course=?,branch=? where student_id=?");
pst.setString(1, id);
pst.setString(2, name);
pst.setString(3, course);
pst.setString(4, branch);
pst.setString(5, id);
pst.executeUpdate();
JOptionPane.showMessageDialog(this, "Student details edited successfully...");
addbutton.setEnabled(true);
txt_studentid.setText("");
txt_studentname.setText("");
txt_course.setSelectedIndex(0);
txt_branch.setSelectedIndex(0);
txt_studentid.requestFocus();
Student_Load();
} catch (SQLException ex) {
Logger.getLogger(ManageStudents.class.getName()).log(Level.SEVERE, null, ex);
}
}//GEN-LAST:event_editbuttonActionPerformed
// Delete recod method
private void deletebuttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_deletebuttonActionPerformed
// TODO add your handling code here:
try {
// TODO add your handling code here:
d = (DefaultTableModel) jTable1.getModel();
int selectIndex = jTable1.getSelectedRow();
String id = d.getValueAt(selectIndex, 0).toString();
pst = con.prepareStatement("delete from student_details where student_id=?");
pst.setString(1, id);
pst.executeUpdate();
JOptionPane.showMessageDialog(this, "Student details deleted successfully...");
addbutton.setEnabled(true);
txt_studentid.setText("");
txt_studentname.setText("");
txt_course.setSelectedIndex(0);
txt_branch.setSelectedIndex(0);
txt_studentid.requestFocus();
Student_Load();
} catch (SQLException ex) {
Logger.getLogger(ManageStudents.class.getName()).log(Level.SEVERE, null, ex);
}
}//GEN-LAST:event_deletebuttonActionPerformed
private void jLabel15MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel15MouseClicked
}//GEN-LAST:event_jLabel15MouseClicked
private void jLabel17MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel17MouseClicked
// TODO add your handling code here:
}//GEN-LAST:event_jLabel17MouseClicked
private void jLabel18MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel18MouseClicked
// TODO add your handling code here:
AboutPage ab = new AboutPage();
ab.setVisible(true);
this.dispose();
}//GEN-LAST:event_jLabel18MouseClicked
private void jLabel19MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel19MouseClicked
// TODO add your handling code here:
}//GEN-LAST:event_jLabel19MouseClicked
private void jLabel20MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel20MouseClicked
// TODO add your handling code here:
}//GEN-LAST:event_jLabel20MouseClicked
private void txt_studentidFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txt_studentidFocusLost
// TODO add your handling code here:
if (checkDublicateStudent() == true) {
JOptionPane.showMessageDialog(this, "Student ID is already exist");
txt_studentid.setText("");
}
}//GEN-LAST:event_txt_studentidFocusLost
private void txt_studentnameFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txt_studentnameFocusLost
// TODO add your handling code here:
}//GEN-LAST:event_txt_studentnameFocusLost
// Developer details
private void jLabel21MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel21MouseClicked
// TODO add your handling code here:
try {
// TODO add your handling code here:
Desktop.getDesktop().browse(new URI("https://github.com/naveenkumar-j"));
} catch (IOException ex) {
Logger.getLogger(LoginPage.class.getName()).log(Level.SEVERE, null, ex);
} catch (URISyntaxException ex) {
Logger.getLogger(LoginPage.class.getName()).log(Level.SEVERE, null, ex);
}
}//GEN-LAST:event_jLabel21MouseClicked
/**
* @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(ManageStudents.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(ManageStudents.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(ManageStudents.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(ManageStudents.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new ManageStudents().setVisible(true);
}
});
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private rojerusan.RSMaterialButtonRectangle addbutton;
private rojerusan.RSMaterialButtonRectangle clearbutton;
private rojerusan.RSMaterialButtonRectangle deletebutton;
private rojerusan.RSMaterialButtonRectangle editbutton;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel12;
private javax.swing.JLabel jLabel13;
private javax.swing.JLabel jLabel14;
private javax.swing.JLabel jLabel15;
private javax.swing.JLabel jLabel16;
private javax.swing.JLabel jLabel17;
private javax.swing.JLabel jLabel18;
private javax.swing.JLabel jLabel19;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel20;
private javax.swing.JLabel jLabel21;
private javax.swing.JLabel jLabel22;
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.JLabel jLabel9;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel10;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JPanel jPanel4;
private javax.swing.JPanel jPanel5;
private javax.swing.JPanel jPanel6;
private javax.swing.JPanel jPanel7;
private javax.swing.JPanel jPanel8;
private javax.swing.JPanel jPanel9;
private javax.swing.JScrollPane jScrollPane2;
private rojeru_san.complementos.RSTableMetro jTable1;
private javax.swing.JPanel panelPieChart;
private javax.swing.JComboBox<String> txt_branch;
private javax.swing.JComboBox<String> txt_course;
private app.bolivia.swing.JCTextField txt_studentid;
private app.bolivia.swing.JCTextField txt_studentname;
// End of variables declaration//GEN-END:variables
}
Code Explanation: You’ll see how to validate member details and interact with the database for CRUD operations. This feature also handles user roles and permissions to control access.
Output: Admin interface to add, update, or remove library members with instant feedback on actions.
Want to design efficient, real-world databases? Join upGrad’s Introduction to Database Design with MySQL course and master ER modeling, normalization, and SQL queries. Perfect for building scalable systems like a Library Management System.
H4: Book Management
This feature allows admins to add, update, and delete books. You’ll design forms and backend logic to manage the book catalog efficiently.
Code snippet:
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java to edit this template
*/
package jframe;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Desktop;
import java.awt.Toolkit;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PiePlot;
import org.jfree.data.general.DefaultPieDataset;
/**
*
* @author Name
*/
public class ManageBooks extends javax.swing.JFrame {
/**
* Creates new form ManageBooks
*/
// default constructor
public ManageBooks() {
initComponents();
Connect();
Book_Load();
showPieChart();
setIconImage();
}
// Set Icon method
private void setIconImage() {
setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("logo.png")));
}
int id;
String uname;
String usertype;
// Parameterized constructor
public ManageBooks(int id, String username, String utype) {
initComponents();
Connect();
showPieChart();
Book_Load();
setIconImage();
this.id = id;
this.uname = username;
this.usertype = utype;
jLabel19.setText(utype);
if (usertype.equals("Admin")) {
addbutton.setEnabled(true);
editbutton.setEnabled(true);
deletebutton.setEnabled(true);
editbutton.setEnabled(true);
} else if (usertype.equals("Librarian")) {
addbutton.setEnabled(true);
editbutton.setEnabled(true);
deletebutton.setEnabled(true);
editbutton.setEnabled(true);
} else {
addbutton.setEnabled(false);
editbutton.setEnabled(false);
deletebutton.setEnabled(false);
editbutton.setEnabled(false);
}
}
Connection con;
PreparedStatement pst;
ResultSet rs;
DefaultTableModel d;
// Database connectivity
public void Connect() {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost/library_management_system", "root", "");
} catch (SQLException ex) {
Logger.getLogger(ManageBooks.class.getName()).log(Level.SEVERE, null, ex);
} catch (ClassNotFoundException ex) {
Logger.getLogger(ManageBooks.class.getName()).log(Level.SEVERE, null, ex);
}
}
// Load book details from the database table
public void Book_Load() {
int c;
try {
pst = con.prepareStatement("select * from book_details");
rs = pst.executeQuery();
ResultSetMetaData rsd = rs.getMetaData();
c = rsd.getColumnCount();
d = (DefaultTableModel) jTable1.getModel();
d.setRowCount(0);
while (rs.next()) {
Vector v2 = new Vector();
for (int i = 1; i <= c; i++) {
v2.add(rs.getString("book_id"));
v2.add(rs.getString("book_name"));
v2.add(rs.getString("author"));
v2.add(rs.getString("quantity"));
}
d.addRow(v2);
}
} catch (SQLException ex) {
Logger.getLogger(ManageBooks.class.getName()).log(Level.SEVERE, null, ex);
}
}
// Checking duplicate book Id
public boolean checkDublicateBookid() {
boolean isExits = false;
try {
String id = txt_bookid.getText();
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost/library_management_system", "root", "");
pst = con.prepareStatement("select * from book_details where book_id=?");
pst.setString(1, id);
rs = pst.executeQuery();
if (rs.next()) {
isExits = true;
} else {
isExits = false;
}
} catch (Exception e) {
e.printStackTrace();
}
return isExits;
}
//Checking duplicate book Name
public boolean checkDublicateBookname() {
boolean isExits = false;
try {
String name = txt_bookname.getText();
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost/library_management_system", "root", "");
pst = con.prepareStatement("select * from book_details where book_name=?");
pst.setString(1, name);
rs = pst.executeQuery();
if (rs.next()) {
isExits = true;
} else {
isExits = false;
}
} catch (Exception e) {
e.printStackTrace();
}
return isExits;
}
// Visualization method
public void showPieChart() {
//create dataset
DefaultPieDataset barDataset = new DefaultPieDataset();
try {
pst = con.prepareStatement("select book_name, count(*) as status_count from book_details group by book_name");
rs = pst.executeQuery();
while (rs.next()) {
barDataset.setValue(rs.getString("book_name"), new Double(rs.getDouble("issue_count")));
}
} catch (Exception e) {
e.printStackTrace();
}
//create chart
JFreeChart piechart = ChartFactory.createPieChart("Available Book details", barDataset, true, true, false);//explain
PiePlot piePlot = (PiePlot) piechart.getPlot();
piePlot.setBackgroundPaint(Color.white);
//create chartPanel to display chart(graph)
ChartPanel barChartPanel = new ChartPanel(piechart);
panelPieChart.removeAll();
panelPieChart.add(barChartPanel, BorderLayout.CENTER);
panelPieChart.validate();
}
/**
* 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() {
jPanel3 = new javax.swing.JPanel();
jLabel10 = new javax.swing.JLabel();
jPanel5 = new javax.swing.JPanel();
jPanel6 = new javax.swing.JPanel();
jPanel1 = new javax.swing.JPanel();
jPanel2 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
txt_bookid = new app.bolivia.swing.JCTextField();
jLabel3 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
txt_bookname = new app.bolivia.swing.JCTextField();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
txt_authorname = new app.bolivia.swing.JCTextField();
jLabel6 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
txt_quantity = new app.bolivia.swing.JCTextField();
jLabel8 = new javax.swing.JLabel();
jLabel9 = new javax.swing.JLabel();
editbutton = new rojerusan.RSMaterialButtonRectangle();
clearbutton = new rojerusan.RSMaterialButtonRectangle();
addbutton = new rojerusan.RSMaterialButtonRectangle();
deletebutton = new rojerusan.RSMaterialButtonRectangle();
jPanel4 = new javax.swing.JPanel();
jLabel11 = new javax.swing.JLabel();
jPanel10 = new javax.swing.JPanel();
jLabel18 = new javax.swing.JLabel();
jPanel7 = new javax.swing.JPanel();
jPanel8 = new javax.swing.JPanel();
jLabel12 = new javax.swing.JLabel();
jScrollPane2 = new javax.swing.JScrollPane();
jTable1 = new rojeru_san.complementos.RSTableMetro();
jLabel13 = new javax.swing.JLabel();
jPanel9 = new javax.swing.JPanel();
jLabel14 = new javax.swing.JLabel();
jLabel15 = new javax.swing.JLabel();
jLabel16 = new javax.swing.JLabel();
jLabel17 = new javax.swing.JLabel();
jLabel19 = new javax.swing.JLabel();
jLabel20 = new javax.swing.JLabel();
jLabel21 = new javax.swing.JLabel();
jLabel22 = new javax.swing.JLabel();
panelPieChart = new javax.swing.JPanel();
jPanel3.setBackground(new java.awt.Color(255, 51, 51));
jLabel10.setFont(new java.awt.Font("Tahoma", 1, 17)); // NOI18N
jLabel10.setForeground(new java.awt.Color(204, 204, 204));
jLabel10.setIcon(new javax.swing.ImageIcon(getClass().getResource("/AddNewBookIcons/icons8_Rewind_48px.png"))); // NOI18N
jLabel10.setText("BACK");
jLabel10.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel10.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel10MouseClicked(evt);
}
});
javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel10, javax.swing.GroupLayout.PREFERRED_SIZE, 98, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(16, Short.MAX_VALUE))
);
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel10, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
jPanel5.setLayout(jPanel5Layout);
jPanel5Layout.setHorizontalGroup(
jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 100, Short.MAX_VALUE)
);
jPanel5Layout.setVerticalGroup(
jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 100, Short.MAX_VALUE)
);
javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6);
jPanel6.setLayout(jPanel6Layout);
jPanel6Layout.setHorizontalGroup(
jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 100, Short.MAX_VALUE)
);
jPanel6Layout.setVerticalGroup(
jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 100, Short.MAX_VALUE)
);
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setUndecorated(true);
getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel1.setBackground(new java.awt.Color(51, 153, 255));
jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel2.setBackground(new java.awt.Color(255, 51, 51));
jLabel1.setFont(new java.awt.Font("Tahoma", 1, 17)); // NOI18N
jLabel1.setForeground(new java.awt.Color(255, 255, 255));
jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/AddNewBookIcons/icons8_Rewind_48px.png"))); // NOI18N
jLabel1.setText("BACK");
jLabel1.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel1MouseClicked(evt);
}
});
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 98, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(16, Short.MAX_VALUE))
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel1.add(jPanel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 120, 40));
txt_bookid.setBackground(new java.awt.Color(51, 153, 255));
txt_bookid.setBorder(javax.swing.BorderFactory.createMatteBorder(0, 0, 2, 0, new java.awt.Color(255, 255, 255)));
txt_bookid.setForeground(new java.awt.Color(51, 51, 51));
txt_bookid.setCaretColor(new java.awt.Color(204, 204, 204));
txt_bookid.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
txt_bookid.setPhColor(new java.awt.Color(51, 51, 51));
txt_bookid.setPlaceholder("Enter Book Id");
txt_bookid.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
txt_bookidFocusLost(evt);
}
});
jPanel1.add(txt_bookid, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 170, 300, -1));
jLabel3.setFont(new java.awt.Font("Tahoma", 1, 16)); // NOI18N
jLabel3.setForeground(new java.awt.Color(255, 255, 255));
jLabel3.setText("Book Id");
jPanel1.add(jLabel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 140, -1, -1));
jLabel2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/AddNewBookIcons/icons8_Contact_26px.png"))); // NOI18N
jPanel1.add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 150, 50, 60));
txt_bookname.setBackground(new java.awt.Color(51, 153, 255));
txt_bookname.setBorder(javax.swing.BorderFactory.createMatteBorder(0, 0, 2, 0, new java.awt.Color(255, 255, 255)));
txt_bookname.setForeground(new java.awt.Color(51, 51, 51));
txt_bookname.setCaretColor(new java.awt.Color(204, 204, 204));
txt_bookname.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
txt_bookname.setPhColor(new java.awt.Color(51, 51, 51));
txt_bookname.setPlaceholder("Enter Book Name");
txt_bookname.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
txt_booknameFocusLost(evt);
}
});
jPanel1.add(txt_bookname, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 280, 300, -1));
jLabel4.setFont(new java.awt.Font("Tahoma", 1, 16)); // NOI18N
jLabel4.setForeground(new java.awt.Color(255, 255, 255));
jLabel4.setText("Book Name");
jPanel1.add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 250, -1, -1));
jLabel5.setIcon(new javax.swing.ImageIcon(getClass().getResource("/AddNewBookIcons/icons8_Moleskine_26px.png"))); // NOI18N
jPanel1.add(jLabel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 280, 43, -1));
txt_authorname.setBackground(new java.awt.Color(51, 153, 255));
txt_authorname.setBorder(javax.swing.BorderFactory.createMatteBorder(0, 0, 2, 0, new java.awt.Color(255, 255, 255)));
txt_authorname.setForeground(new java.awt.Color(51, 51, 51));
txt_authorname.setCaretColor(new java.awt.Color(204, 204, 204));
txt_authorname.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
txt_authorname.setPhColor(new java.awt.Color(51, 51, 51));
txt_authorname.setPlaceholder("Enter Author Name");
txt_authorname.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
txt_authornameFocusLost(evt);
}
});
jPanel1.add(txt_authorname, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 400, 300, -1));
jLabel6.setFont(new java.awt.Font("Tahoma", 1, 16)); // NOI18N
jLabel6.setForeground(new java.awt.Color(255, 255, 255));
jLabel6.setText("Author Name");
jPanel1.add(jLabel6, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 380, -1, -1));
jLabel7.setIcon(new javax.swing.ImageIcon(getClass().getResource("/AddNewBookIcons/icons8_Collaborator_Male_26px.png"))); // NOI18N
jPanel1.add(jLabel7, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 410, 43, -1));
txt_quantity.setBackground(new java.awt.Color(51, 153, 255));
txt_quantity.setBorder(javax.swing.BorderFactory.createMatteBorder(0, 0, 2, 0, new java.awt.Color(255, 255, 255)));
txt_quantity.setForeground(new java.awt.Color(51, 51, 51));
txt_quantity.setCaretColor(new java.awt.Color(204, 204, 204));
txt_quantity.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
txt_quantity.setPhColor(new java.awt.Color(51, 51, 51));
txt_quantity.setPlaceholder("Enter Quantity");
txt_quantity.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
txt_quantityFocusLost(evt);
}
});
jPanel1.add(txt_quantity, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 530, 300, -1));
jLabel8.setFont(new java.awt.Font("Tahoma", 1, 16)); // NOI18N
jLabel8.setForeground(new java.awt.Color(255, 255, 255));
jLabel8.setText("Quantity");
jPanel1.add(jLabel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 500, -1, -1));
jLabel9.setIcon(new javax.swing.ImageIcon(getClass().getResource("/AddNewBookIcons/icons8_Unit_26px.png"))); // NOI18N
jPanel1.add(jLabel9, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 530, 43, -1));
editbutton.setBackground(new java.awt.Color(255, 51, 51));
editbutton.setText("EDIT");
editbutton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
editbuttonActionPerformed(evt);
}
});
jPanel1.add(editbutton, new org.netbeans.lib.awtextra.AbsoluteConstraints(280, 640, 170, 50));
clearbutton.setBackground(new java.awt.Color(255, 51, 51));
clearbutton.setText("CLEAR");
clearbutton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
clearbuttonActionPerformed(evt);
}
});
jPanel1.add(clearbutton, new org.netbeans.lib.awtextra.AbsoluteConstraints(280, 730, 170, 50));
addbutton.setBackground(new java.awt.Color(255, 51, 51));
addbutton.setText("Add");
addbutton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
addbuttonActionPerformed(evt);
}
});
jPanel1.add(addbutton, new org.netbeans.lib.awtextra.AbsoluteConstraints(50, 640, 170, 50));
deletebutton.setBackground(new java.awt.Color(255, 51, 51));
deletebutton.setText("DELETE");
deletebutton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
deletebuttonActionPerformed(evt);
}
});
jPanel1.add(deletebutton, new org.netbeans.lib.awtextra.AbsoluteConstraints(50, 730, 170, 50));
jPanel4.setBackground(new java.awt.Color(255, 51, 51));
jLabel11.setFont(new java.awt.Font("Tahoma", 1, 17)); // NOI18N
jLabel11.setForeground(new java.awt.Color(204, 204, 204));
jLabel11.setIcon(new javax.swing.ImageIcon(getClass().getResource("/AddNewBookIcons/icons8_Rewind_48px.png"))); // NOI18N
jLabel11.setText("BACK");
jLabel11.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel11.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel11MouseClicked(evt);
}
});
javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
jPanel4.setLayout(jPanel4Layout);
jPanel4Layout.setHorizontalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel11, javax.swing.GroupLayout.PREFERRED_SIZE, 98, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(16, Short.MAX_VALUE))
);
jPanel4Layout.setVerticalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel11, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel1.add(jPanel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 120, 40));
jPanel10.setBackground(new java.awt.Color(255, 51, 51));
jLabel18.setFont(new java.awt.Font("Tahoma", 1, 17)); // NOI18N
jLabel18.setForeground(new java.awt.Color(255, 255, 255));
jLabel18.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_Library_32px.png"))); // NOI18N
jLabel18.setText("About Project");
jLabel18.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel18.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel18MouseClicked(evt);
}
});
javax.swing.GroupLayout jPanel10Layout = new javax.swing.GroupLayout(jPanel10);
jPanel10.setLayout(jPanel10Layout);
jPanel10Layout.setHorizontalGroup(
jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel10Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel18)
.addGap(17, 17, 17))
);
jPanel10Layout.setVerticalGroup(
jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel10Layout.createSequentialGroup()
.addComponent(jLabel18, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 8, Short.MAX_VALUE))
);
jPanel1.add(jPanel10, new org.netbeans.lib.awtextra.AbsoluteConstraints(390, 0, 190, 40));
getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 580, 810));
jPanel7.setBackground(new java.awt.Color(255, 255, 255));
jPanel7.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel8.setBackground(new java.awt.Color(51, 153, 255));
jPanel8.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jPanel8.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jPanel8MouseClicked(evt);
}
});
jPanel8.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jLabel12.setFont(new java.awt.Font("Segoe UI", 1, 18)); // NOI18N
jLabel12.setForeground(new java.awt.Color(255, 255, 255));
jLabel12.setText("X");
jLabel12.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel12MouseClicked(evt);
}
});
jPanel8.add(jLabel12, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 0, -1, -1));
jPanel7.add(jPanel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(650, 0, 60, 30));
jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object[][]{
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String[]{
"Book ID", "Book Name", "Author", "Quantity"
}
));
jTable1.setColorBackgoundHead(new java.awt.Color(51, 153, 255));
jTable1.setColorFilasBackgound2(new java.awt.Color(255, 255, 255));
jTable1.setColorSelBackgound(new java.awt.Color(255, 51, 51));
jTable1.setFuenteFilas(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jTable1.setFuenteFilasSelect(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jTable1.setFuenteHead(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jTable1.setRowHeight(30);
jTable1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jTable1MouseClicked(evt);
}
});
jScrollPane2.setViewportView(jTable1);
jPanel7.add(jScrollPane2, new org.netbeans.lib.awtextra.AbsoluteConstraints(60, 160, 570, 170));
jLabel13.setBackground(new java.awt.Color(255, 0, 51));
jLabel13.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N
jLabel13.setForeground(new java.awt.Color(255, 51, 51));
jLabel13.setIcon(new javax.swing.ImageIcon(getClass().getResource("/AddNewBookIcons/icons8_Books_52px_1.png"))); // NOI18N
jLabel13.setText("Manage Books");
jPanel7.add(jLabel13, new org.netbeans.lib.awtextra.AbsoluteConstraints(80, 50, -1, -1));
jPanel9.setBackground(new java.awt.Color(255, 51, 51));
javax.swing.GroupLayout jPanel9Layout = new javax.swing.GroupLayout(jPanel9);
jPanel9.setLayout(jPanel9Layout);
jPanel9Layout.setHorizontalGroup(
jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 240, Short.MAX_VALUE)
);
jPanel9Layout.setVerticalGroup(
jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 3, Short.MAX_VALUE)
);
jPanel7.add(jPanel9, new org.netbeans.lib.awtextra.AbsoluteConstraints(80, 110, 240, 3));
jLabel14.setText("Developed by:");
jPanel7.add(jLabel14, new org.netbeans.lib.awtextra.AbsoluteConstraints(1050, 640, -1, -1));
jLabel15.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
jLabel15.setText("Naveenkumar J");
jLabel15.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel15.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel15MouseClicked(evt);
}
});
jPanel7.add(jLabel15, new org.netbeans.lib.awtextra.AbsoluteConstraints(1130, 640, -1, -1));
jLabel16.setText("Developed by:");
jPanel7.add(jLabel16, new org.netbeans.lib.awtextra.AbsoluteConstraints(1050, 640, -1, -1));
jLabel17.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
jLabel17.setText("Naveenkumar J");
jLabel17.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel17.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel17MouseClicked(evt);
}
});
jPanel7.add(jLabel17, new org.netbeans.lib.awtextra.AbsoluteConstraints(1130, 640, -1, -1));
jLabel19.setFont(new java.awt.Font("Tahoma", 1, 17)); // NOI18N
jLabel19.setForeground(new java.awt.Color(51, 51, 51));
jLabel19.setText(" usertype");
jLabel19.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel19.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel19MouseClicked(evt);
}
});
jPanel7.add(jLabel19, new org.netbeans.lib.awtextra.AbsoluteConstraints(560, 10, -1, -1));
jLabel20.setFont(new java.awt.Font("Tahoma", 1, 17)); // NOI18N
jLabel20.setForeground(new java.awt.Color(51, 51, 51));
jLabel20.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_Read_Online_26px.png"))); // NOI18N
jLabel20.setText("Welcome,");
jLabel20.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel20.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel20MouseClicked(evt);
}
});
jPanel7.add(jLabel20, new org.netbeans.lib.awtextra.AbsoluteConstraints(450, 0, 120, 40));
jLabel21.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
jLabel21.setText("Naveenkumar J");
jLabel21.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel21MouseClicked(evt);
}
});
jPanel7.add(jLabel21, new org.netbeans.lib.awtextra.AbsoluteConstraints(580, 760, -1, -1));
jLabel22.setText("Developed by:");
jPanel7.add(jLabel22, new org.netbeans.lib.awtextra.AbsoluteConstraints(500, 760, -1, -1));
panelPieChart.setLayout(new java.awt.BorderLayout());
jPanel7.add(panelPieChart, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 410, 430, 310));
getContentPane().add(jPanel7, new org.netbeans.lib.awtextra.AbsoluteConstraints(580, 0, 710, 820));
setSize(new java.awt.Dimension(1289, 788));
setLocationRelativeTo(null);
}// </editor-fold>//GEN-END:initComponents
private void jLabel1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel1MouseClicked
// TODO add your handling code here:
HomePage hm = new HomePage(id, uname, usertype);
hm.setVisible(true);
this.dispose();
}//GEN-LAST:event_jLabel1MouseClicked
private void txt_bookidFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txt_bookidFocusLost
// TODO add your handling code here:
if (checkDublicateBookid() == true) {
JOptionPane.showMessageDialog(this, "Book id is already exist");
txt_bookid.setText("");
}
}//GEN-LAST:event_txt_bookidFocusLost
private void txt_booknameFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txt_booknameFocusLost
// TODO add your handling code here:
if (checkDublicateBookname() == true) {
JOptionPane.showMessageDialog(this, "Book name is already exist");
txt_bookname.setText("");
}
}//GEN-LAST:event_txt_booknameFocusLost
private void txt_authornameFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txt_authornameFocusLost
// TODO add your handling code here:
}//GEN-LAST:event_txt_authornameFocusLost
private void txt_quantityFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txt_quantityFocusLost
// TODO add your handling code here:
}//GEN-LAST:event_txt_quantityFocusLost
private void jLabel10MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel10MouseClicked
// TODO add your handling code here:
}//GEN-LAST:event_jLabel10MouseClicked
private void jLabel11MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel11MouseClicked
// TODO add your handling code here:
}//GEN-LAST:event_jLabel11MouseClicked
private void jLabel12MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel12MouseClicked
// TODO add your handling code here:
System.exit(0);
}//GEN-LAST:event_jLabel12MouseClicked
private void jPanel8MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jPanel8MouseClicked
// TODO add your handling code here:
System.exit(0);
}//GEN-LAST:event_jPanel8MouseClicked
// Insert records into the database
private void addbuttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_addbuttonActionPerformed
// TODO add your handling code here:
try {
// TODO add your handling code here:
String id = txt_bookid.getText();
String name = txt_bookname.getText();
String author = txt_authorname.getText();
String quantity = txt_quantity.getText();
pst = con.prepareStatement("insert into book_details(book_id,book_name,author,quantity)values(?,?,?,?)");
pst.setString(1, id);
pst.setString(2, name);
pst.setString(3, author);
pst.setString(4, quantity);
pst.executeUpdate();
JOptionPane.showMessageDialog(this, "Book Details added successfully...");
txt_bookid.setText("");
txt_bookname.setText("");
txt_authorname.setText("");
txt_quantity.setText("");
txt_bookid.requestFocus();
Book_Load();
} catch (SQLException ex) {
Logger.getLogger(ManageBooks.class.getName()).log(Level.SEVERE, null, ex);
}
}//GEN-LAST:event_addbuttonActionPerformed
// Clear text method
private void clearbuttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_clearbuttonActionPerformed
// TODO add your handling code here:
txt_bookid.setText("");
txt_bookname.setText("");
txt_authorname.setText("");
txt_quantity.setText("");
txt_bookid.requestFocus();
addbutton.setEnabled(true);
}//GEN-LAST:event_clearbuttonActionPerformed
// Mouse click to form method
private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTable1MouseClicked
// TODO add your handling code here:
d = (DefaultTableModel) jTable1.getModel();
int selectIndex = jTable1.getSelectedRow();
String book_id = d.getValueAt(selectIndex, 0).toString();
txt_bookid.setText(book_id);
txt_bookname.setText(d.getValueAt(selectIndex, 1).toString());
txt_authorname.setText(d.getValueAt(selectIndex, 2).toString());
txt_quantity.setText(d.getValueAt(selectIndex, 3).toString());
addbutton.setEnabled(false);
}//GEN-LAST:event_jTable1MouseClicked
// Edit Record details
private void editbuttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_editbuttonActionPerformed
// TODO add your handling code here:
try {
// TODO add your handling code here:
d = (DefaultTableModel) jTable1.getModel();
int selectIndex = jTable1.getSelectedRow();
String id = d.getValueAt(selectIndex, 0).toString();
//String id = txt_bookid.getText();
String name = txt_bookname.getText();
String author = txt_authorname.getText();
String quantity = txt_quantity.getText();
pst = con.prepareStatement("update book_details set book_id=?,book_name=?,author=?,quantity=? where book_id=?");
pst.setString(1, id);
pst.setString(2, name);
pst.setString(3, author);
pst.setString(4, quantity);
pst.setString(5, id);
pst.executeUpdate();
JOptionPane.showMessageDialog(this, "Book details edited successfully...");
addbutton.setEnabled(true);
txt_bookid.setText("");
txt_bookname.setText("");
txt_authorname.setText("");
txt_quantity.setText("");
txt_bookid.requestFocus();
Book_Load();
} catch (SQLException ex) {
Logger.getLogger(ManageBooks.class.getName()).log(Level.SEVERE, null, ex);
}
}//GEN-LAST:event_editbuttonActionPerformed
// Delete recod method
private void deletebuttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_deletebuttonActionPerformed
// TODO add your handling code here:
try {
// TODO add your handling code here:
d = (DefaultTableModel) jTable1.getModel();
int selectIndex = jTable1.getSelectedRow();
String id = d.getValueAt(selectIndex, 0).toString();
pst = con.prepareStatement("delete from book_details where book_id=?");
pst.setString(1, id);
pst.executeUpdate();
JOptionPane.showMessageDialog(this, "Book details deleted successfully...");
addbutton.setEnabled(true);
txt_bookid.setText("");
txt_bookname.setText("");
txt_authorname.setText("");
txt_quantity.setText("");
txt_bookid.requestFocus();
Book_Load();
} catch (SQLException ex) {
Logger.getLogger(ManageBooks.class.getName()).log(Level.SEVERE, null, ex);
}
}//GEN-LAST:event_deletebuttonActionPerformed
private void jLabel15MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel15MouseClicked
}//GEN-LAST:event_jLabel15MouseClicked
private void jLabel17MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel17MouseClicked
// TODO add your handling code here:
}//GEN-LAST:event_jLabel17MouseClicked
private void jLabel18MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel18MouseClicked
// TODO add your handling code here:
AboutPage ab = new AboutPage();
ab.setVisible(true);
this.dispose();
}//GEN-LAST:event_jLabel18MouseClicked
private void jLabel19MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel19MouseClicked
// TODO add your handling code here:
}//GEN-LAST:event_jLabel19MouseClicked
private void jLabel20MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel20MouseClicked
// TODO add your handling code here:
}//GEN-LAST:event_jLabel20MouseClicked
// Developer details
private void jLabel21MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel21MouseClicked
// TODO add your handling code here:
try {
// TODO add your handling code here:
Desktop.getDesktop().browse(new URI("https://github.com/naveenkumar-j"));
} catch (IOException ex) {
Logger.getLogger(LoginPage.class.getName()).log(Level.SEVERE, null, ex);
} catch (URISyntaxException ex) {
Logger.getLogger(LoginPage.class.getName()).log(Level.SEVERE, null, ex);
}
}//GEN-LAST:event_jLabel21MouseClicked
/**
* @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(ManageBooks.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(ManageBooks.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(ManageBooks.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(ManageBooks.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 ManageBooks().setVisible(true);
}
});
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private rojerusan.RSMaterialButtonRectangle addbutton;
private rojerusan.RSMaterialButtonRectangle clearbutton;
private rojerusan.RSMaterialButtonRectangle deletebutton;
private rojerusan.RSMaterialButtonRectangle editbutton;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel12;
private javax.swing.JLabel jLabel13;
private javax.swing.JLabel jLabel14;
private javax.swing.JLabel jLabel15;
private javax.swing.JLabel jLabel16;
private javax.swing.JLabel jLabel17;
private javax.swing.JLabel jLabel18;
private javax.swing.JLabel jLabel19;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel20;
private javax.swing.JLabel jLabel21;
private javax.swing.JLabel jLabel22;
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.JLabel jLabel9;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel10;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JPanel jPanel4;
private javax.swing.JPanel jPanel5;
private javax.swing.JPanel jPanel6;
private javax.swing.JPanel jPanel7;
private javax.swing.JPanel jPanel8;
private javax.swing.JPanel jPanel9;
private javax.swing.JScrollPane jScrollPane2;
private rojeru_san.complementos.RSTableMetro jTable1;
private javax.swing.JPanel panelPieChart;
private app.bolivia.swing.JCTextField txt_authorname;
private app.bolivia.swing.JCTextField txt_bookid;
private app.bolivia.swing.JCTextField txt_bookname;
private app.bolivia.swing.JCTextField txt_quantity;
// End of variables declaration//GEN-END:variables
}
Code Explanation: You’ll learn to maintain data integrity while performing CRUD operations on books, including categorizing and managing stock levels.
Output: A responsive UI for admins to manage the entire library catalog.
Next is issuing and returning books, the heart of the library management system project in Java.
Also Read: 12 Best UI UX Designer Tools: Choosing the Right Software for Your Projects
H3: Issue Book
This feature allows library staff to assign books to registered students. The system must check book availability, capture the issue date, and calculate the due date.
Code Snippet:
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java to edit this template
*/
package jframe;
import java.awt.Desktop;
import java.awt.Toolkit;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
/**
*
* @author Name
*/
public class IssueBook extends javax.swing.JFrame {
/**
* Creates new form IssueBook
*/
// default constructor
public IssueBook() {
initComponents();
Connect();
setIconImage();
}
int id;
String uname;
String usertype;
// Parameterized Constructor
public IssueBook(int id, String username, String utype) {
initComponents();
Connect();
setIconImage();
this.id = id;
this.uname = username;
this.usertype = utype;
jLabel19.setText(utype);
if (usertype.equals("Admin")) {
issuebutton.setEnabled(true);
clearbutton.setEnabled(true);
} else if (usertype.equals("Librarian")) {
issuebutton.setEnabled(true);
clearbutton.setEnabled(true);
} else {
issuebutton.setEnabled(false);
}
}
// set Icon method
private void setIconImage() {
setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("logo.png")));
}
// Database connectivity method
public void Connect() {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost/library_management_system", "root", "");
} catch (SQLException ex) {
Logger.getLogger(ManageStudents.class.getName()).log(Level.SEVERE, null, ex);
} catch (ClassNotFoundException ex) {
Logger.getLogger(ManageStudents.class.getName()).log(Level.SEVERE, null, ex);
}
}
Connection con;
PreparedStatement pst;
ResultSet rs;
// Loading details from the database table method
public void getBookDetails() {
int book_id = Integer.parseInt(txt_bookid.getText());
try {
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost/library_management_system", "root", "");
pst = con.prepareStatement("select * from book_details where book_id=?");
pst.setInt(1, book_id);
rs = pst.executeQuery();
if (rs.next()) {
issue_bookid.setText(rs.getString("book_id"));
issue_bookname.setText(rs.getString("book_name"));
issue_author.setText(rs.getString("author"));
issue_quantity.setText(rs.getString("quantity"));
txt_bookerror.setText("");
} else {
txt_bookerror.setText("Book Id not found!");
issue_bookid.setText("");
issue_bookname.setText("");
issue_author.setText("");
issue_quantity.setText("");
}
} catch (Exception e) {
e.printStackTrace();
}
}
// Loading student details from the database table
public void getStudentDetails() {
int student_id = Integer.parseInt(txt_studentid.getText());
try {
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost/library_management_system", "root", "");
pst = con.prepareStatement("select * from student_details where student_id=?");
pst.setInt(1, student_id);
rs = pst.executeQuery();
if (rs.next()) {
text_studentid.setText(rs.getString("student_id"));
text_studentname.setText(rs.getString("student_name"));
text_course.setText(rs.getString("course"));
text_branch.setText(rs.getString("branch"));
txt_studenterror.setText("");
} else {
txt_studenterror.setText("Student Id not found!");
text_studentid.setText("");
text_studentname.setText("");
text_course.setText("");
text_branch.setText("");
}
} catch (Exception e) {
e.printStackTrace();
}
}
// Update book count to the database table
public void updateBookCount() {
try {
int bookId = Integer.parseInt(txt_bookid.getText());
pst = con.prepareStatement("update book_details set quantity=quantity-1 where book_id=?");
pst.setInt(1, bookId);
int rowCount = pst.executeUpdate();
if (rowCount > 0) {
JOptionPane.showMessageDialog(this, "Book Count updated successfully!");
int initialCount = Integer.parseInt(issue_quantity.getText());
issue_quantity.setText(Integer.toString(initialCount - 1));
} else {
JOptionPane.showMessageDialog(this, "Error in updating Book count");
}
} catch (SQLException ex) {
Logger.getLogger(IssueBook.class.getName()).log(Level.SEVERE, null, ex);
}
}
// Checking duplicate records
public boolean isAlreadyIssued() {
boolean isAlreadyIssued = false;
int bookId = Integer.parseInt(txt_bookid.getText());
int studentId = Integer.parseInt(txt_studentid.getText());
try {
Connect();
String sql = "select * from issue_book_details where book_id=? and student_id=? and status=?";
pst = con.prepareStatement(sql);
pst.setInt(1, bookId);
pst.setInt(2, studentId);
pst.setString(3, "pending");
rs = pst.executeQuery();
if (rs.next()) {
isAlreadyIssued = true;
} else {
isAlreadyIssued = false;
}
} catch (SQLException e) {
e.printStackTrace();
}
return isAlreadyIssued;
}
/**
* 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() {
jLabel20 = new javax.swing.JLabel();
jPanel7 = new javax.swing.JPanel();
jPanel1 = new javax.swing.JPanel();
jPanel2 = new javax.swing.JPanel();
jPanel4 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jPanel5 = new javax.swing.JPanel();
issue_quantity = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
issue_bookid = new javax.swing.JLabel();
issue_bookname = new javax.swing.JLabel();
issue_author = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
txt_bookerror = new javax.swing.JLabel();
jPanel3 = new javax.swing.JPanel();
jPanel6 = new javax.swing.JPanel();
text_branch = new javax.swing.JLabel();
jLabel13 = new javax.swing.JLabel();
jLabel14 = new javax.swing.JLabel();
text_course = new javax.swing.JLabel();
text_studentname = new javax.swing.JLabel();
jLabel17 = new javax.swing.JLabel();
jLabel18 = new javax.swing.JLabel();
text_studentid = new javax.swing.JLabel();
jLabel21 = new javax.swing.JLabel();
txt_studenterror = new javax.swing.JLabel();
jLabel11 = new javax.swing.JLabel();
jPanel8 = new javax.swing.JPanel();
jPanel9 = new javax.swing.JPanel();
jLabel22 = new javax.swing.JLabel();
txt_bookid = new app.bolivia.swing.JCTextField();
jLabel23 = new javax.swing.JLabel();
txt_studentid = new app.bolivia.swing.JCTextField();
jLabel24 = new javax.swing.JLabel();
jLabel25 = new javax.swing.JLabel();
jLabel26 = new javax.swing.JLabel();
clearbutton = new rojerusan.RSMaterialButtonRectangle();
issuebutton = new rojerusan.RSMaterialButtonRectangle();
date_issuedate = new com.toedter.calendar.JDateChooser();
date_duedate = new com.toedter.calendar.JDateChooser();
jLabel3 = new javax.swing.JLabel();
jLabel8 = new javax.swing.JLabel();
jLabel27 = new javax.swing.JLabel();
jLabel19 = new javax.swing.JLabel();
jLabel20.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N
jLabel20.setForeground(new java.awt.Color(255, 255, 255));
jLabel20.setIcon(new javax.swing.ImageIcon(getClass().getResource("/AddNewBookIcons/icons8_Student_Registration_100px_2.png"))); // NOI18N
jLabel20.setText(" Student Details");
jPanel7.setBackground(new java.awt.Color(255, 255, 255));
javax.swing.GroupLayout jPanel7Layout = new javax.swing.GroupLayout(jPanel7);
jPanel7.setLayout(jPanel7Layout);
jPanel7Layout.setHorizontalGroup(
jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 310, Short.MAX_VALUE)
);
jPanel7Layout.setVerticalGroup(
jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 5, Short.MAX_VALUE)
);
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setUndecorated(true);
getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel1.setBackground(new java.awt.Color(255, 255, 255));
jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel2.setBackground(new java.awt.Color(255, 51, 51));
jPanel2.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel4.setBackground(new java.awt.Color(51, 153, 255));
jLabel1.setFont(new java.awt.Font("Tahoma", 1, 17)); // NOI18N
jLabel1.setForeground(new java.awt.Color(255, 255, 255));
jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/AddNewBookIcons/icons8_Rewind_48px.png"))); // NOI18N
jLabel1.setText("BACK");
jLabel1.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel1MouseClicked(evt);
}
});
javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
jPanel4.setLayout(jPanel4Layout);
jPanel4Layout.setHorizontalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 98, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(16, Short.MAX_VALUE))
);
jPanel4Layout.setVerticalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel2.add(jPanel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 120, 40));
jLabel2.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N
jLabel2.setForeground(new java.awt.Color(255, 255, 255));
jLabel2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/AddNewBookIcons/icons8_Literature_100px_1.png"))); // NOI18N
jLabel2.setText(" Book Details");
jPanel2.add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(80, 110, -1, -1));
jPanel5.setBackground(new java.awt.Color(255, 255, 255));
javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
jPanel5.setLayout(jPanel5Layout);
jPanel5Layout.setHorizontalGroup(
jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 310, Short.MAX_VALUE)
);
jPanel5Layout.setVerticalGroup(
jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 5, Short.MAX_VALUE)
);
jPanel2.add(jPanel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(60, 220, 310, 5));
issue_quantity.setBackground(new java.awt.Color(255, 255, 255));
issue_quantity.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
issue_quantity.setForeground(new java.awt.Color(255, 255, 255));
jPanel2.add(issue_quantity, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 600, 140, 40));
jLabel5.setBackground(new java.awt.Color(255, 255, 255));
jLabel5.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
jLabel5.setForeground(new java.awt.Color(255, 255, 255));
jLabel5.setText("Book Name :");
jPanel2.add(jLabel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 440, -1, -1));
jLabel6.setBackground(new java.awt.Color(255, 255, 255));
jLabel6.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
jLabel6.setForeground(new java.awt.Color(255, 255, 255));
jLabel6.setText("Author :");
jPanel2.add(jLabel6, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 530, -1, -1));
jLabel7.setBackground(new java.awt.Color(255, 255, 255));
jLabel7.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
jLabel7.setForeground(new java.awt.Color(255, 255, 255));
jLabel7.setText("Book Id :");
jPanel2.add(jLabel7, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 350, 130, -1));
issue_bookid.setBackground(new java.awt.Color(255, 255, 255));
issue_bookid.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
issue_bookid.setForeground(new java.awt.Color(255, 255, 255));
jPanel2.add(issue_bookid, new org.netbeans.lib.awtextra.AbsoluteConstraints(200, 350, 130, 30));
issue_bookname.setBackground(new java.awt.Color(255, 255, 255));
issue_bookname.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
issue_bookname.setForeground(new java.awt.Color(255, 255, 255));
jPanel2.add(issue_bookname, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 440, 220, 30));
issue_author.setBackground(new java.awt.Color(255, 255, 255));
issue_author.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
issue_author.setForeground(new java.awt.Color(255, 255, 255));
jPanel2.add(issue_author, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 520, 210, 50));
jLabel4.setBackground(new java.awt.Color(255, 255, 255));
jLabel4.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
jLabel4.setForeground(new java.awt.Color(255, 255, 255));
jLabel4.setText("Quantity :");
jPanel2.add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 610, -1, -1));
txt_bookerror.setBackground(new java.awt.Color(255, 255, 255));
txt_bookerror.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N
txt_bookerror.setForeground(new java.awt.Color(255, 255, 0));
jPanel2.add(txt_bookerror, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 690, 300, 50));
jPanel1.add(jPanel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 420, 800));
jPanel3.setBackground(new java.awt.Color(51, 153, 255));
jPanel3.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel6.setBackground(new java.awt.Color(255, 255, 255));
javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6);
jPanel6.setLayout(jPanel6Layout);
jPanel6Layout.setHorizontalGroup(
jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 310, Short.MAX_VALUE)
);
jPanel6Layout.setVerticalGroup(
jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 5, Short.MAX_VALUE)
);
jPanel3.add(jPanel6, new org.netbeans.lib.awtextra.AbsoluteConstraints(60, 220, 310, 5));
text_branch.setBackground(new java.awt.Color(255, 255, 255));
text_branch.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
text_branch.setForeground(new java.awt.Color(255, 255, 255));
jPanel3.add(text_branch, new org.netbeans.lib.awtextra.AbsoluteConstraints(210, 610, 170, 30));
jLabel13.setBackground(new java.awt.Color(255, 255, 255));
jLabel13.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
jLabel13.setForeground(new java.awt.Color(255, 255, 255));
jLabel13.setText("Branch :");
jPanel3.add(jLabel13, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 610, -1, -1));
jLabel14.setBackground(new java.awt.Color(255, 255, 255));
jLabel14.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
jLabel14.setForeground(new java.awt.Color(255, 255, 255));
jLabel14.setText("Course :");
jPanel3.add(jLabel14, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 530, -1, -1));
text_course.setBackground(new java.awt.Color(255, 255, 255));
text_course.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
text_course.setForeground(new java.awt.Color(255, 255, 255));
jPanel3.add(text_course, new org.netbeans.lib.awtextra.AbsoluteConstraints(210, 530, 150, 30));
text_studentname.setBackground(new java.awt.Color(255, 255, 255));
text_studentname.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
text_studentname.setForeground(new java.awt.Color(255, 255, 255));
jPanel3.add(text_studentname, new org.netbeans.lib.awtextra.AbsoluteConstraints(200, 430, 200, 40));
jLabel17.setBackground(new java.awt.Color(255, 255, 255));
jLabel17.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
jLabel17.setForeground(new java.awt.Color(255, 255, 255));
jLabel17.setText("Student Name :");
jPanel3.add(jLabel17, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 440, -1, -1));
jLabel18.setBackground(new java.awt.Color(255, 255, 255));
jLabel18.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
jLabel18.setForeground(new java.awt.Color(255, 255, 255));
jLabel18.setText("Student ID :");
jPanel3.add(jLabel18, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 350, 150, -1));
text_studentid.setBackground(new java.awt.Color(255, 255, 255));
text_studentid.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
text_studentid.setForeground(new java.awt.Color(255, 255, 255));
jPanel3.add(text_studentid, new org.netbeans.lib.awtextra.AbsoluteConstraints(200, 340, 150, 40));
jLabel21.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N
jLabel21.setForeground(new java.awt.Color(255, 255, 255));
jLabel21.setIcon(new javax.swing.ImageIcon(getClass().getResource("/AddNewBookIcons/icons8_Student_Registration_100px_2.png"))); // NOI18N
jLabel21.setText(" Student Details");
jPanel3.add(jLabel21, new org.netbeans.lib.awtextra.AbsoluteConstraints(60, 100, -1, -1));
txt_studenterror.setBackground(new java.awt.Color(255, 255, 255));
txt_studenterror.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N
txt_studenterror.setForeground(new java.awt.Color(255, 255, 0));
jPanel3.add(txt_studenterror, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 680, 300, 50));
jPanel1.add(jPanel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(460, 0, 420, 800));
jLabel11.setBackground(new java.awt.Color(255, 51, 51));
jLabel11.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N
jLabel11.setForeground(new java.awt.Color(255, 51, 51));
jLabel11.setIcon(new javax.swing.ImageIcon(getClass().getResource("/AddNewBookIcons/icons8_Books_52px_1.png"))); // NOI18N
jLabel11.setText(" Issue Book");
jPanel1.add(jLabel11, new org.netbeans.lib.awtextra.AbsoluteConstraints(1040, 130, -1, -1));
jPanel8.setBackground(new java.awt.Color(255, 51, 51));
javax.swing.GroupLayout jPanel8Layout = new javax.swing.GroupLayout(jPanel8);
jPanel8.setLayout(jPanel8Layout);
jPanel8Layout.setHorizontalGroup(
jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 310, Short.MAX_VALUE)
);
jPanel8Layout.setVerticalGroup(
jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 5, Short.MAX_VALUE)
);
jPanel1.add(jPanel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(1010, 190, -1, 5));
jPanel9.setBackground(new java.awt.Color(51, 153, 255));
jPanel9.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jPanel9.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jPanel9MouseClicked(evt);
}
});
jPanel9.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jLabel22.setFont(new java.awt.Font("Segoe UI", 1, 18)); // NOI18N
jLabel22.setForeground(new java.awt.Color(255, 255, 255));
jLabel22.setText("X");
jLabel22.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel22MouseClicked(evt);
}
});
jPanel9.add(jLabel22, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 0, -1, -1));
jPanel1.add(jPanel9, new org.netbeans.lib.awtextra.AbsoluteConstraints(1350, 0, 60, 30));
txt_bookid.setBorder(javax.swing.BorderFactory.createMatteBorder(0, 0, 2, 0, new java.awt.Color(255, 51, 51)));
txt_bookid.setForeground(new java.awt.Color(51, 51, 51));
txt_bookid.setCaretColor(new java.awt.Color(204, 204, 204));
txt_bookid.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
txt_bookid.setPhColor(new java.awt.Color(51, 51, 51));
txt_bookid.setPlaceholder("Enter Book Id");
txt_bookid.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
txt_bookidFocusLost(evt);
}
});
jPanel1.add(txt_bookid, new org.netbeans.lib.awtextra.AbsoluteConstraints(1030, 250, 300, -1));
jLabel23.setFont(new java.awt.Font("Tahoma", 1, 16)); // NOI18N
jLabel23.setForeground(new java.awt.Color(255, 51, 51));
jLabel23.setText("Book Id:");
jPanel1.add(jLabel23, new org.netbeans.lib.awtextra.AbsoluteConstraints(940, 260, -1, 30));
txt_studentid.setBorder(javax.swing.BorderFactory.createMatteBorder(0, 0, 2, 0, new java.awt.Color(255, 51, 51)));
txt_studentid.setForeground(new java.awt.Color(51, 51, 51));
txt_studentid.setCaretColor(new java.awt.Color(204, 204, 204));
txt_studentid.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
txt_studentid.setPhColor(new java.awt.Color(51, 51, 51));
txt_studentid.setPlaceholder("Enter Student Id");
txt_studentid.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
txt_studentidFocusLost(evt);
}
});
jPanel1.add(txt_studentid, new org.netbeans.lib.awtextra.AbsoluteConstraints(1030, 340, 300, -1));
jLabel24.setFont(new java.awt.Font("Tahoma", 1, 16)); // NOI18N
jLabel24.setForeground(new java.awt.Color(255, 51, 51));
jLabel24.setText("Issue Date:");
jPanel1.add(jLabel24, new org.netbeans.lib.awtextra.AbsoluteConstraints(930, 430, 110, 30));
jLabel25.setFont(new java.awt.Font("Tahoma", 1, 16)); // NOI18N
jLabel25.setForeground(new java.awt.Color(255, 51, 51));
jLabel25.setText("Student Id:");
jPanel1.add(jLabel25, new org.netbeans.lib.awtextra.AbsoluteConstraints(920, 350, 110, 30));
jLabel26.setFont(new java.awt.Font("Tahoma", 1, 16)); // NOI18N
jLabel26.setForeground(new java.awt.Color(255, 51, 51));
jLabel26.setText("Due Date :");
jPanel1.add(jLabel26, new org.netbeans.lib.awtextra.AbsoluteConstraints(930, 530, 110, 30));
clearbutton.setBackground(new java.awt.Color(255, 51, 51));
clearbutton.setText("clear data");
clearbutton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
clearbuttonActionPerformed(evt);
}
});
jPanel1.add(clearbutton, new org.netbeans.lib.awtextra.AbsoluteConstraints(1170, 650, 190, 50));
issuebutton.setBackground(new java.awt.Color(255, 51, 51));
issuebutton.setText("Issue Book");
issuebutton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
issuebuttonActionPerformed(evt);
}
});
jPanel1.add(issuebutton, new org.netbeans.lib.awtextra.AbsoluteConstraints(960, 650, 190, 50));
date_issuedate.setBackground(new java.awt.Color(255, 255, 255));
date_issuedate.setForeground(new java.awt.Color(255, 51, 51));
jPanel1.add(date_issuedate, new org.netbeans.lib.awtextra.AbsoluteConstraints(1040, 430, 290, 40));
jPanel1.add(date_duedate, new org.netbeans.lib.awtextra.AbsoluteConstraints(1040, 520, 290, 40));
jLabel3.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
jLabel3.setText("Naveenkumar J");
jLabel3.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel3.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel3MouseClicked(evt);
}
});
jPanel1.add(jLabel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(1280, 770, -1, -1));
jLabel8.setText("Developed by:");
jPanel1.add(jLabel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(1200, 770, -1, -1));
jLabel27.setFont(new java.awt.Font("Tahoma", 1, 17)); // NOI18N
jLabel27.setForeground(new java.awt.Color(51, 51, 51));
jLabel27.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_Read_Online_26px.png"))); // NOI18N
jLabel27.setText("Welcome,");
jLabel27.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel27.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel27MouseClicked(evt);
}
});
jPanel1.add(jLabel27, new org.netbeans.lib.awtextra.AbsoluteConstraints(1150, 0, 120, 40));
jLabel19.setFont(new java.awt.Font("Tahoma", 1, 17)); // NOI18N
jLabel19.setForeground(new java.awt.Color(51, 51, 51));
jLabel19.setText(" usertype");
jLabel19.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel19.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel19MouseClicked(evt);
}
});
jPanel1.add(jLabel19, new org.netbeans.lib.awtextra.AbsoluteConstraints(1260, 10, -1, -1));
getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 1410, 800));
setSize(new java.awt.Dimension(1411, 803));
setLocationRelativeTo(null);
}// </editor-fold>//GEN-END:initComponents
private void jLabel1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel1MouseClicked
// TODO add your handling code here:
HomePage hm = new HomePage(id, uname, usertype);
hm.setVisible(true);
this.dispose();
}//GEN-LAST:event_jLabel1MouseClicked
private void jLabel22MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel22MouseClicked
// TODO add your handling code here:
System.exit(0);
}//GEN-LAST:event_jLabel22MouseClicked
private void jPanel9MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jPanel9MouseClicked
// TODO add your handling code here:
System.exit(0);
}//GEN-LAST:event_jPanel9MouseClicked
private void txt_bookidFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txt_bookidFocusLost
// TODO add your handling code here:
if (!txt_bookid.getText().equals("")) {
getBookDetails();
}
}//GEN-LAST:event_txt_bookidFocusLost
private void txt_studentidFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txt_studentidFocusLost
// TODO add your handling code here:
if (!txt_studentid.getText().equals("")) {
getStudentDetails();
}
}//GEN-LAST:event_txt_studentidFocusLost
private void clearbuttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_clearbuttonActionPerformed
// TODO add your handling code here:
txt_bookid.setText("");
issue_bookid.setText("");
issue_bookname.setText("");
issue_author.setText("");
issue_quantity.setText("");
txt_bookerror.setText("");
txt_studentid.setText("");
text_studentid.setText("");
text_studentname.setText("");
text_course.setText("");
text_branch.setText("");
txt_studenterror.setText("");
date_duedate.setDate(null);
date_issuedate.setDate(null);
}//GEN-LAST:event_clearbuttonActionPerformed
private void issuebuttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_issuebuttonActionPerformed
try {
// TODO add your handling code here:
if (issue_quantity.getText().equals("0")) {
JOptionPane.showMessageDialog(this, "This book is currently unavailable");
} else {
if (isAlreadyIssued() == false) {
int bookId = Integer.parseInt(txt_bookid.getText());
String bookName = issue_bookname.getText();
int studentId = Integer.parseInt(txt_studentid.getText());
String studentName = text_studentname.getText();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String issuedate = df.format(date_issuedate.getDate());
String duedate = df.format(date_duedate.getDate());
pst = con.prepareStatement("insert into issue_book_details(book_id,book_name,student_id,student_name,issue_date,due_date,status)values(?,?,?,?,?,?,?)");
pst.setInt(1, bookId);
pst.setString(2, bookName);
pst.setInt(3, studentId);
pst.setString(4, studentName);
pst.setString(5, issuedate);
pst.setString(6, duedate);
pst.setString(7, "pending");
pst.executeUpdate();
JOptionPane.showMessageDialog(this, "Book Issued successfully...");
updateBookCount();
} else {
JOptionPane.showMessageDialog(this, "This student already has this book");
}
}
txt_bookid.setText("");
txt_studentid.setText("");
date_duedate.setDate(null);
date_issuedate.setDate(null);
} catch (SQLException ex) {
Logger.getLogger(IssueBook.class.getName()).log(Level.SEVERE, null, ex);
}
}//GEN-LAST:event_issuebuttonActionPerformed
private void jLabel3MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel3MouseClicked
// TODO add your handling code here:
try {
// TODO add your handling code here:
Desktop.getDesktop().browse(new URI("https://github.com/naveenkumar-j"));
} catch (IOException ex) {
Logger.getLogger(LoginPage.class.getName()).log(Level.SEVERE, null, ex);
} catch (URISyntaxException ex) {
Logger.getLogger(LoginPage.class.getName()).log(Level.SEVERE, null, ex);
}
}//GEN-LAST:event_jLabel3MouseClicked
private void jLabel27MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel27MouseClicked
// TODO add your handling code here:
}//GEN-LAST:event_jLabel27MouseClicked
private void jLabel19MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel19MouseClicked
// TODO add your handling code here:
}//GEN-LAST:event_jLabel19MouseClicked
/**
* @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(IssueBook.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(IssueBook.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(IssueBook.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(IssueBook.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 IssueBook().setVisible(true);
}
});
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private rojerusan.RSMaterialButtonRectangle clearbutton;
private com.toedter.calendar.JDateChooser date_duedate;
private com.toedter.calendar.JDateChooser date_issuedate;
private javax.swing.JLabel issue_author;
private javax.swing.JLabel issue_bookid;
private javax.swing.JLabel issue_bookname;
private javax.swing.JLabel issue_quantity;
private rojerusan.RSMaterialButtonRectangle issuebutton;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel13;
private javax.swing.JLabel jLabel14;
private javax.swing.JLabel jLabel17;
private javax.swing.JLabel jLabel18;
private javax.swing.JLabel jLabel19;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel20;
private javax.swing.JLabel jLabel21;
private javax.swing.JLabel jLabel22;
private javax.swing.JLabel jLabel23;
private javax.swing.JLabel jLabel24;
private javax.swing.JLabel jLabel25;
private javax.swing.JLabel jLabel26;
private javax.swing.JLabel jLabel27;
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.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JPanel jPanel4;
private javax.swing.JPanel jPanel5;
private javax.swing.JPanel jPanel6;
private javax.swing.JPanel jPanel7;
private javax.swing.JPanel jPanel8;
private javax.swing.JPanel jPanel9;
private javax.swing.JLabel text_branch;
private javax.swing.JLabel text_course;
private javax.swing.JLabel text_studentid;
private javax.swing.JLabel text_studentname;
private javax.swing.JLabel txt_bookerror;
private app.bolivia.swing.JCTextField txt_bookid;
private javax.swing.JLabel txt_studenterror;
private app.bolivia.swing.JCTextField txt_studentid;
// End of variables declaration//GEN-END:variables
}
Code Explanation: You’ll see how to validate member details and interact with the database for CRUD operations. This feature also handles user roles and permissions to control access.
Output: Admin interface to add, update, or remove library members with instant feedback on actions
This feature allows admins to add, update, and delete books. You’ll design forms and backend logic to manage the book catalog efficiently.
Code snippet:
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java to edit this template
*/
package jframe;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Desktop;
import java.awt.Toolkit;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PiePlot;
import org.jfree.data.general.DefaultPieDataset;
/**
*
* @author Name
*/
public class ManageBooks extends javax.swing.JFrame {
/**
* Creates new form ManageBooks
*/
// default constructor
public ManageBooks() {
initComponents();
Connect();
Book_Load();
showPieChart();
setIconImage();
}
// Set Icon method
private void setIconImage() {
setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("logo.png")));
}
int id;
String uname;
String usertype;
// Parameterized constructor
public ManageBooks(int id, String username, String utype) {
initComponents();
Connect();
showPieChart();
Book_Load();
setIconImage();
this.id = id;
this.uname = username;
this.usertype = utype;
jLabel19.setText(utype);
if (usertype.equals("Admin")) {
addbutton.setEnabled(true);
editbutton.setEnabled(true);
deletebutton.setEnabled(true);
editbutton.setEnabled(true);
} else if (usertype.equals("Librarian")) {
addbutton.setEnabled(true);
editbutton.setEnabled(true);
deletebutton.setEnabled(true);
editbutton.setEnabled(true);
} else {
addbutton.setEnabled(false);
editbutton.setEnabled(false);
deletebutton.setEnabled(false);
editbutton.setEnabled(false);
}
}
Connection con;
PreparedStatement pst;
ResultSet rs;
DefaultTableModel d;
// Database connectivity
public void Connect() {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost/library_management_system", "root", "");
} catch (SQLException ex) {
Logger.getLogger(ManageBooks.class.getName()).log(Level.SEVERE, null, ex);
} catch (ClassNotFoundException ex) {
Logger.getLogger(ManageBooks.class.getName()).log(Level.SEVERE, null, ex);
}
}
// Load book details from the database table
public void Book_Load() {
int c;
try {
pst = con.prepareStatement("select * from book_details");
rs = pst.executeQuery();
ResultSetMetaData rsd = rs.getMetaData();
c = rsd.getColumnCount();
d = (DefaultTableModel) jTable1.getModel();
d.setRowCount(0);
while (rs.next()) {
Vector v2 = new Vector();
for (int i = 1; i <= c; i++) {
v2.add(rs.getString("book_id"));
v2.add(rs.getString("book_name"));
v2.add(rs.getString("author"));
v2.add(rs.getString("quantity"));
}
d.addRow(v2);
}
} catch (SQLException ex) {
Logger.getLogger(ManageBooks.class.getName()).log(Level.SEVERE, null, ex);
}
}
// Checking duplicate book Id
public boolean checkDublicateBookid() {
boolean isExits = false;
try {
String id = txt_bookid.getText();
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost/library_management_system", "root", "");
pst = con.prepareStatement("select * from book_details where book_id=?");
pst.setString(1, id);
rs = pst.executeQuery();
if (rs.next()) {
isExits = true;
} else {
isExits = false;
}
} catch (Exception e) {
e.printStackTrace();
}
return isExits;
}
//Checking duplicate book Name
public boolean checkDublicateBookname() {
boolean isExits = false;
try {
String name = txt_bookname.getText();
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost/library_management_system", "root", "");
pst = con.prepareStatement("select * from book_details where book_name=?");
pst.setString(1, name);
rs = pst.executeQuery();
if (rs.next()) {
isExits = true;
} else {
isExits = false;
}
} catch (Exception e) {
e.printStackTrace();
}
return isExits;
}
// Visualization method
public void showPieChart() {
//create dataset
DefaultPieDataset barDataset = new DefaultPieDataset();
try {
pst = con.prepareStatement("select book_name, count(*) as status_count from book_details group by book_name");
rs = pst.executeQuery();
while (rs.next()) {
barDataset.setValue(rs.getString("book_name"), new Double(rs.getDouble("issue_count")));
}
} catch (Exception e) {
e.printStackTrace();
}
//create chart
JFreeChart piechart = ChartFactory.createPieChart("Available Book details", barDataset, true, true, false);//explain
PiePlot piePlot = (PiePlot) piechart.getPlot();
piePlot.setBackgroundPaint(Color.white);
//create chartPanel to display chart(graph)
ChartPanel barChartPanel = new ChartPanel(piechart);
panelPieChart.removeAll();
panelPieChart.add(barChartPanel, BorderLayout.CENTER);
panelPieChart.validate();
}
/**
* 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() {
jPanel3 = new javax.swing.JPanel();
jLabel10 = new javax.swing.JLabel();
jPanel5 = new javax.swing.JPanel();
jPanel6 = new javax.swing.JPanel();
jPanel1 = new javax.swing.JPanel();
jPanel2 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
txt_bookid = new app.bolivia.swing.JCTextField();
jLabel3 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
txt_bookname = new app.bolivia.swing.JCTextField();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
txt_authorname = new app.bolivia.swing.JCTextField();
jLabel6 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
txt_quantity = new app.bolivia.swing.JCTextField();
jLabel8 = new javax.swing.JLabel();
jLabel9 = new javax.swing.JLabel();
editbutton = new rojerusan.RSMaterialButtonRectangle();
clearbutton = new rojerusan.RSMaterialButtonRectangle();
addbutton = new rojerusan.RSMaterialButtonRectangle();
deletebutton = new rojerusan.RSMaterialButtonRectangle();
jPanel4 = new javax.swing.JPanel();
jLabel11 = new javax.swing.JLabel();
jPanel10 = new javax.swing.JPanel();
jLabel18 = new javax.swing.JLabel();
jPanel7 = new javax.swing.JPanel();
jPanel8 = new javax.swing.JPanel();
jLabel12 = new javax.swing.JLabel();
jScrollPane2 = new javax.swing.JScrollPane();
jTable1 = new rojeru_san.complementos.RSTableMetro();
jLabel13 = new javax.swing.JLabel();
jPanel9 = new javax.swing.JPanel();
jLabel14 = new javax.swing.JLabel();
jLabel15 = new javax.swing.JLabel();
jLabel16 = new javax.swing.JLabel();
jLabel17 = new javax.swing.JLabel();
jLabel19 = new javax.swing.JLabel();
jLabel20 = new javax.swing.JLabel();
jLabel21 = new javax.swing.JLabel();
jLabel22 = new javax.swing.JLabel();
panelPieChart = new javax.swing.JPanel();
jPanel3.setBackground(new java.awt.Color(255, 51, 51));
jLabel10.setFont(new java.awt.Font("Tahoma", 1, 17)); // NOI18N
jLabel10.setForeground(new java.awt.Color(204, 204, 204));
jLabel10.setIcon(new javax.swing.ImageIcon(getClass().getResource("/AddNewBookIcons/icons8_Rewind_48px.png"))); // NOI18N
jLabel10.setText("BACK");
jLabel10.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel10.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel10MouseClicked(evt);
}
});
javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel10, javax.swing.GroupLayout.PREFERRED_SIZE, 98, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(16, Short.MAX_VALUE))
);
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel10, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
jPanel5.setLayout(jPanel5Layout);
jPanel5Layout.setHorizontalGroup(
jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 100, Short.MAX_VALUE)
);
jPanel5Layout.setVerticalGroup(
jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 100, Short.MAX_VALUE)
);
javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6);
jPanel6.setLayout(jPanel6Layout);
jPanel6Layout.setHorizontalGroup(
jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 100, Short.MAX_VALUE)
);
jPanel6Layout.setVerticalGroup(
jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 100, Short.MAX_VALUE)
);
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setUndecorated(true);
getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel1.setBackground(new java.awt.Color(51, 153, 255));
jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel2.setBackground(new java.awt.Color(255, 51, 51));
jLabel1.setFont(new java.awt.Font("Tahoma", 1, 17)); // NOI18N
jLabel1.setForeground(new java.awt.Color(255, 255, 255));
jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/AddNewBookIcons/icons8_Rewind_48px.png"))); // NOI18N
jLabel1.setText("BACK");
jLabel1.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel1MouseClicked(evt);
}
});
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 98, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(16, Short.MAX_VALUE))
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel1.add(jPanel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 120, 40));
txt_bookid.setBackground(new java.awt.Color(51, 153, 255));
txt_bookid.setBorder(javax.swing.BorderFactory.createMatteBorder(0, 0, 2, 0, new java.awt.Color(255, 255, 255)));
txt_bookid.setForeground(new java.awt.Color(51, 51, 51));
txt_bookid.setCaretColor(new java.awt.Color(204, 204, 204));
txt_bookid.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
txt_bookid.setPhColor(new java.awt.Color(51, 51, 51));
txt_bookid.setPlaceholder("Enter Book Id");
txt_bookid.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
txt_bookidFocusLost(evt);
}
});
jPanel1.add(txt_bookid, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 170, 300, -1));
jLabel3.setFont(new java.awt.Font("Tahoma", 1, 16)); // NOI18N
jLabel3.setForeground(new java.awt.Color(255, 255, 255));
jLabel3.setText("Book Id");
jPanel1.add(jLabel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 140, -1, -1));
jLabel2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/AddNewBookIcons/icons8_Contact_26px.png"))); // NOI18N
jPanel1.add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 150, 50, 60));
txt_bookname.setBackground(new java.awt.Color(51, 153, 255));
txt_bookname.setBorder(javax.swing.BorderFactory.createMatteBorder(0, 0, 2, 0, new java.awt.Color(255, 255, 255)));
txt_bookname.setForeground(new java.awt.Color(51, 51, 51));
txt_bookname.setCaretColor(new java.awt.Color(204, 204, 204));
txt_bookname.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
txt_bookname.setPhColor(new java.awt.Color(51, 51, 51));
txt_bookname.setPlaceholder("Enter Book Name");
txt_bookname.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
txt_booknameFocusLost(evt);
}
});
jPanel1.add(txt_bookname, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 280, 300, -1));
jLabel4.setFont(new java.awt.Font("Tahoma", 1, 16)); // NOI18N
jLabel4.setForeground(new java.awt.Color(255, 255, 255));
jLabel4.setText("Book Name");
jPanel1.add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 250, -1, -1));
jLabel5.setIcon(new javax.swing.ImageIcon(getClass().getResource("/AddNewBookIcons/icons8_Moleskine_26px.png"))); // NOI18N
jPanel1.add(jLabel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 280, 43, -1));
txt_authorname.setBackground(new java.awt.Color(51, 153, 255));
txt_authorname.setBorder(javax.swing.BorderFactory.createMatteBorder(0, 0, 2, 0, new java.awt.Color(255, 255, 255)));
txt_authorname.setForeground(new java.awt.Color(51, 51, 51));
txt_authorname.setCaretColor(new java.awt.Color(204, 204, 204));
txt_authorname.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
txt_authorname.setPhColor(new java.awt.Color(51, 51, 51));
txt_authorname.setPlaceholder("Enter Author Name");
txt_authorname.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
txt_authornameFocusLost(evt);
}
});
jPanel1.add(txt_authorname, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 400, 300, -1));
jLabel6.setFont(new java.awt.Font("Tahoma", 1, 16)); // NOI18N
jLabel6.setForeground(new java.awt.Color(255, 255, 255));
jLabel6.setText("Author Name");
jPanel1.add(jLabel6, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 380, -1, -1));
jLabel7.setIcon(new javax.swing.ImageIcon(getClass().getResource("/AddNewBookIcons/icons8_Collaborator_Male_26px.png"))); // NOI18N
jPanel1.add(jLabel7, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 410, 43, -1));
txt_quantity.setBackground(new java.awt.Color(51, 153, 255));
txt_quantity.setBorder(javax.swing.BorderFactory.createMatteBorder(0, 0, 2, 0, new java.awt.Color(255, 255, 255)));
txt_quantity.setForeground(new java.awt.Color(51, 51, 51));
txt_quantity.setCaretColor(new java.awt.Color(204, 204, 204));
txt_quantity.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
txt_quantity.setPhColor(new java.awt.Color(51, 51, 51));
txt_quantity.setPlaceholder("Enter Quantity");
txt_quantity.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
txt_quantityFocusLost(evt);
}
});
jPanel1.add(txt_quantity, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 530, 300, -1));
jLabel8.setFont(new java.awt.Font("Tahoma", 1, 16)); // NOI18N
jLabel8.setForeground(new java.awt.Color(255, 255, 255));
jLabel8.setText("Quantity");
jPanel1.add(jLabel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 500, -1, -1));
jLabel9.setIcon(new javax.swing.ImageIcon(getClass().getResource("/AddNewBookIcons/icons8_Unit_26px.png"))); // NOI18N
jPanel1.add(jLabel9, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 530, 43, -1));
editbutton.setBackground(new java.awt.Color(255, 51, 51));
editbutton.setText("EDIT");
editbutton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
editbuttonActionPerformed(evt);
}
});
jPanel1.add(editbutton, new org.netbeans.lib.awtextra.AbsoluteConstraints(280, 640, 170, 50));
clearbutton.setBackground(new java.awt.Color(255, 51, 51));
clearbutton.setText("CLEAR");
clearbutton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
clearbuttonActionPerformed(evt);
}
});
jPanel1.add(clearbutton, new org.netbeans.lib.awtextra.AbsoluteConstraints(280, 730, 170, 50));
addbutton.setBackground(new java.awt.Color(255, 51, 51));
addbutton.setText("Add");
addbutton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
addbuttonActionPerformed(evt);
}
});
jPanel1.add(addbutton, new org.netbeans.lib.awtextra.AbsoluteConstraints(50, 640, 170, 50));
deletebutton.setBackground(new java.awt.Color(255, 51, 51));
deletebutton.setText("DELETE");
deletebutton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
deletebuttonActionPerformed(evt);
}
});
jPanel1.add(deletebutton, new org.netbeans.lib.awtextra.AbsoluteConstraints(50, 730, 170, 50));
jPanel4.setBackground(new java.awt.Color(255, 51, 51));
jLabel11.setFont(new java.awt.Font("Tahoma", 1, 17)); // NOI18N
jLabel11.setForeground(new java.awt.Color(204, 204, 204));
jLabel11.setIcon(new javax.swing.ImageIcon(getClass().getResource("/AddNewBookIcons/icons8_Rewind_48px.png"))); // NOI18N
jLabel11.setText("BACK");
jLabel11.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel11.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel11MouseClicked(evt);
}
});
javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
jPanel4.setLayout(jPanel4Layout);
jPanel4Layout.setHorizontalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel11, javax.swing.GroupLayout.PREFERRED_SIZE, 98, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(16, Short.MAX_VALUE))
);
jPanel4Layout.setVerticalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel11, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel1.add(jPanel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 120, 40));
jPanel10.setBackground(new java.awt.Color(255, 51, 51));
jLabel18.setFont(new java.awt.Font("Tahoma", 1, 17)); // NOI18N
jLabel18.setForeground(new java.awt.Color(255, 255, 255));
jLabel18.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_Library_32px.png"))); // NOI18N
jLabel18.setText("About Project");
jLabel18.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel18.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel18MouseClicked(evt);
}
});
javax.swing.GroupLayout jPanel10Layout = new javax.swing.GroupLayout(jPanel10);
jPanel10.setLayout(jPanel10Layout);
jPanel10Layout.setHorizontalGroup(
jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel10Layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel18)
.addGap(17, 17, 17))
);
jPanel10Layout.setVerticalGroup(
jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel10Layout.createSequentialGroup()
.addComponent(jLabel18, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 8, Short.MAX_VALUE))
);
jPanel1.add(jPanel10, new org.netbeans.lib.awtextra.AbsoluteConstraints(390, 0, 190, 40));
getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 580, 810));
jPanel7.setBackground(new java.awt.Color(255, 255, 255));
jPanel7.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel8.setBackground(new java.awt.Color(51, 153, 255));
jPanel8.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jPanel8.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jPanel8MouseClicked(evt);
}
});
jPanel8.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jLabel12.setFont(new java.awt.Font("Segoe UI", 1, 18)); // NOI18N
jLabel12.setForeground(new java.awt.Color(255, 255, 255));
jLabel12.setText("X");
jLabel12.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel12MouseClicked(evt);
}
});
jPanel8.add(jLabel12, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 0, -1, -1));
jPanel7.add(jPanel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(650, 0, 60, 30));
jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object[][]{
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String[]{
"Book ID", "Book Name", "Author", "Quantity"
}
));
jTable1.setColorBackgoundHead(new java.awt.Color(51, 153, 255));
jTable1.setColorFilasBackgound2(new java.awt.Color(255, 255, 255));
jTable1.setColorSelBackgound(new java.awt.Color(255, 51, 51));
jTable1.setFuenteFilas(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jTable1.setFuenteFilasSelect(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jTable1.setFuenteHead(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jTable1.setRowHeight(30);
jTable1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jTable1MouseClicked(evt);
}
});
jScrollPane2.setViewportView(jTable1);
jPanel7.add(jScrollPane2, new org.netbeans.lib.awtextra.AbsoluteConstraints(60, 160, 570, 170));
jLabel13.setBackground(new java.awt.Color(255, 0, 51));
jLabel13.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N
jLabel13.setForeground(new java.awt.Color(255, 51, 51));
jLabel13.setIcon(new javax.swing.ImageIcon(getClass().getResource("/AddNewBookIcons/icons8_Books_52px_1.png"))); // NOI18N
jLabel13.setText("Manage Books");
jPanel7.add(jLabel13, new org.netbeans.lib.awtextra.AbsoluteConstraints(80, 50, -1, -1));
jPanel9.setBackground(new java.awt.Color(255, 51, 51));
javax.swing.GroupLayout jPanel9Layout = new javax.swing.GroupLayout(jPanel9);
jPanel9.setLayout(jPanel9Layout);
jPanel9Layout.setHorizontalGroup(
jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 240, Short.MAX_VALUE)
);
jPanel9Layout.setVerticalGroup(
jPanel9Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 3, Short.MAX_VALUE)
);
jPanel7.add(jPanel9, new org.netbeans.lib.awtextra.AbsoluteConstraints(80, 110, 240, 3));
jLabel14.setText("Developed by:");
jPanel7.add(jLabel14, new org.netbeans.lib.awtextra.AbsoluteConstraints(1050, 640, -1, -1));
jLabel15.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
jLabel15.setText("Naveenkumar J");
jLabel15.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel15.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel15MouseClicked(evt);
}
});
jPanel7.add(jLabel15, new org.netbeans.lib.awtextra.AbsoluteConstraints(1130, 640, -1, -1));
jLabel16.setText("Developed by:");
jPanel7.add(jLabel16, new org.netbeans.lib.awtextra.AbsoluteConstraints(1050, 640, -1, -1));
jLabel17.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
jLabel17.setText("Naveenkumar J");
jLabel17.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel17.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel17MouseClicked(evt);
}
});
jPanel7.add(jLabel17, new org.netbeans.lib.awtextra.AbsoluteConstraints(1130, 640, -1, -1));
jLabel19.setFont(new java.awt.Font("Tahoma", 1, 17)); // NOI18N
jLabel19.setForeground(new java.awt.Color(51, 51, 51));
jLabel19.setText(" usertype");
jLabel19.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel19.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel19MouseClicked(evt);
}
});
jPanel7.add(jLabel19, new org.netbeans.lib.awtextra.AbsoluteConstraints(560, 10, -1, -1));
jLabel20.setFont(new java.awt.Font("Tahoma", 1, 17)); // NOI18N
jLabel20.setForeground(new java.awt.Color(51, 51, 51));
jLabel20.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_Read_Online_26px.png"))); // NOI18N
jLabel20.setText("Welcome,");
jLabel20.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel20.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel20MouseClicked(evt);
}
});
jPanel7.add(jLabel20, new org.netbeans.lib.awtextra.AbsoluteConstraints(450, 0, 120, 40));
jLabel21.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
jLabel21.setText("Naveenkumar J");
jLabel21.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel21MouseClicked(evt);
}
});
jPanel7.add(jLabel21, new org.netbeans.lib.awtextra.AbsoluteConstraints(580, 760, -1, -1));
jLabel22.setText("Developed by:");
jPanel7.add(jLabel22, new org.netbeans.lib.awtextra.AbsoluteConstraints(500, 760, -1, -1));
panelPieChart.setLayout(new java.awt.BorderLayout());
jPanel7.add(panelPieChart, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 410, 430, 310));
getContentPane().add(jPanel7, new org.netbeans.lib.awtextra.AbsoluteConstraints(580, 0, 710, 820));
setSize(new java.awt.Dimension(1289, 788));
setLocationRelativeTo(null);
}// </editor-fold>//GEN-END:initComponents
private void jLabel1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel1MouseClicked
// TODO add your handling code here:
HomePage hm = new HomePage(id, uname, usertype);
hm.setVisible(true);
this.dispose();
}//GEN-LAST:event_jLabel1MouseClicked
private void txt_bookidFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txt_bookidFocusLost
// TODO add your handling code here:
if (checkDublicateBookid() == true) {
JOptionPane.showMessageDialog(this, "Book id is already exist");
txt_bookid.setText("");
}
}//GEN-LAST:event_txt_bookidFocusLost
private void txt_booknameFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txt_booknameFocusLost
// TODO add your handling code here:
if (checkDublicateBookname() == true) {
JOptionPane.showMessageDialog(this, "Book name is already exist");
txt_bookname.setText("");
}
}//GEN-LAST:event_txt_booknameFocusLost
private void txt_authornameFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txt_authornameFocusLost
// TODO add your handling code here:
}//GEN-LAST:event_txt_authornameFocusLost
private void txt_quantityFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txt_quantityFocusLost
// TODO add your handling code here:
}//GEN-LAST:event_txt_quantityFocusLost
private void jLabel10MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel10MouseClicked
// TODO add your handling code here:
}//GEN-LAST:event_jLabel10MouseClicked
private void jLabel11MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel11MouseClicked
// TODO add your handling code here:
}//GEN-LAST:event_jLabel11MouseClicked
private void jLabel12MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel12MouseClicked
// TODO add your handling code here:
System.exit(0);
}//GEN-LAST:event_jLabel12MouseClicked
private void jPanel8MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jPanel8MouseClicked
// TODO add your handling code here:
System.exit(0);
}//GEN-LAST:event_jPanel8MouseClicked
// Insert records into the database
private void addbuttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_addbuttonActionPerformed
// TODO add your handling code here:
try {
// TODO add your handling code here:
String id = txt_bookid.getText();
String name = txt_bookname.getText();
String author = txt_authorname.getText();
String quantity = txt_quantity.getText();
pst = con.prepareStatement("insert into book_details(book_id,book_name,author,quantity)values(?,?,?,?)");
pst.setString(1, id);
pst.setString(2, name);
pst.setString(3, author);
pst.setString(4, quantity);
pst.executeUpdate();
JOptionPane.showMessageDialog(this, "Book Details added successfully...");
txt_bookid.setText("");
txt_bookname.setText("");
txt_authorname.setText("");
txt_quantity.setText("");
txt_bookid.requestFocus();
Book_Load();
} catch (SQLException ex) {
Logger.getLogger(ManageBooks.class.getName()).log(Level.SEVERE, null, ex);
}
}//GEN-LAST:event_addbuttonActionPerformed
// Clear text method
private void clearbuttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_clearbuttonActionPerformed
// TODO add your handling code here:
txt_bookid.setText("");
txt_bookname.setText("");
txt_authorname.setText("");
txt_quantity.setText("");
txt_bookid.requestFocus();
addbutton.setEnabled(true);
}//GEN-LAST:event_clearbuttonActionPerformed
// Mouse click to form method
private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTable1MouseClicked
// TODO add your handling code here:
d = (DefaultTableModel) jTable1.getModel();
int selectIndex = jTable1.getSelectedRow();
String book_id = d.getValueAt(selectIndex, 0).toString();
txt_bookid.setText(book_id);
txt_bookname.setText(d.getValueAt(selectIndex, 1).toString());
txt_authorname.setText(d.getValueAt(selectIndex, 2).toString());
txt_quantity.setText(d.getValueAt(selectIndex, 3).toString());
addbutton.setEnabled(false);
}//GEN-LAST:event_jTable1MouseClicked
// Edit Record details
private void editbuttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_editbuttonActionPerformed
// TODO add your handling code here:
try {
// TODO add your handling code here:
d = (DefaultTableModel) jTable1.getModel();
int selectIndex = jTable1.getSelectedRow();
String id = d.getValueAt(selectIndex, 0).toString();
//String id = txt_bookid.getText();
String name = txt_bookname.getText();
String author = txt_authorname.getText();
String quantity = txt_quantity.getText();
pst = con.prepareStatement("update book_details set book_id=?,book_name=?,author=?,quantity=? where book_id=?");
pst.setString(1, id);
pst.setString(2, name);
pst.setString(3, author);
pst.setString(4, quantity);
pst.setString(5, id);
pst.executeUpdate();
JOptionPane.showMessageDialog(this, "Book details edited successfully...");
addbutton.setEnabled(true);
txt_bookid.setText("");
txt_bookname.setText("");
txt_authorname.setText("");
txt_quantity.setText("");
txt_bookid.requestFocus();
Book_Load();
} catch (SQLException ex) {
Logger.getLogger(ManageBooks.class.getName()).log(Level.SEVERE, null, ex);
}
}//GEN-LAST:event_editbuttonActionPerformed
// Delete recod method
private void deletebuttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_deletebuttonActionPerformed
// TODO add your handling code here:
try {
// TODO add your handling code here:
d = (DefaultTableModel) jTable1.getModel();
int selectIndex = jTable1.getSelectedRow();
String id = d.getValueAt(selectIndex, 0).toString();
pst = con.prepareStatement("delete from book_details where book_id=?");
pst.setString(1, id);
pst.executeUpdate();
JOptionPane.showMessageDialog(this, "Book details deleted successfully...");
addbutton.setEnabled(true);
txt_bookid.setText("");
txt_bookname.setText("");
txt_authorname.setText("");
txt_quantity.setText("");
txt_bookid.requestFocus();
Book_Load();
} catch (SQLException ex) {
Logger.getLogger(ManageBooks.class.getName()).log(Level.SEVERE, null, ex);
}
}//GEN-LAST:event_deletebuttonActionPerformed
private void jLabel15MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel15MouseClicked
}//GEN-LAST:event_jLabel15MouseClicked
private void jLabel17MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel17MouseClicked
// TODO add your handling code here:
}//GEN-LAST:event_jLabel17MouseClicked
private void jLabel18MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel18MouseClicked
// TODO add your handling code here:
AboutPage ab = new AboutPage();
ab.setVisible(true);
this.dispose();
}//GEN-LAST:event_jLabel18MouseClicked
private void jLabel19MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel19MouseClicked
// TODO add your handling code here:
}//GEN-LAST:event_jLabel19MouseClicked
private void jLabel20MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel20MouseClicked
// TODO add your handling code here:
}//GEN-LAST:event_jLabel20MouseClicked
// Developer details
private void jLabel21MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel21MouseClicked
// TODO add your handling code here:
try {
// TODO add your handling code here:
Desktop.getDesktop().browse(new URI("https://github.com/naveenkumar-j"));
} catch (IOException ex) {
Logger.getLogger(LoginPage.class.getName()).log(Level.SEVERE, null, ex);
} catch (URISyntaxException ex) {
Logger.getLogger(LoginPage.class.getName()).log(Level.SEVERE, null, ex);
}
}//GEN-LAST:event_jLabel21MouseClicked
/**
* @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(ManageBooks.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(ManageBooks.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(ManageBooks.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(ManageBooks.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 ManageBooks().setVisible(true);
}
});
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private rojerusan.RSMaterialButtonRectangle addbutton;
private rojerusan.RSMaterialButtonRectangle clearbutton;
private rojerusan.RSMaterialButtonRectangle deletebutton;
private rojerusan.RSMaterialButtonRectangle editbutton;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel12;
private javax.swing.JLabel jLabel13;
private javax.swing.JLabel jLabel14;
private javax.swing.JLabel jLabel15;
private javax.swing.JLabel jLabel16;
private javax.swing.JLabel jLabel17;
private javax.swing.JLabel jLabel18;
private javax.swing.JLabel jLabel19;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel20;
private javax.swing.JLabel jLabel21;
private javax.swing.JLabel jLabel22;
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.JLabel jLabel9;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel10;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JPanel jPanel4;
private javax.swing.JPanel jPanel5;
private javax.swing.JPanel jPanel6;
private javax.swing.JPanel jPanel7;
private javax.swing.JPanel jPanel8;
private javax.swing.JPanel jPanel9;
private javax.swing.JScrollPane jScrollPane2;
private rojeru_san.complementos.RSTableMetro jTable1;
private javax.swing.JPanel panelPieChart;
private app.bolivia.swing.JCTextField txt_authorname;
private app.bolivia.swing.JCTextField txt_bookid;
private app.bolivia.swing.JCTextField txt_bookname;
private app.bolivia.swing.JCTextField txt_quantity;
// End of variables declaration//GEN-END:variables
}
Code Explanation: You’ll learn to maintain data integrity while performing CRUD operations on books, including categorizing and managing stock levels.
Output: A responsive UI for admins to manage the entire library catalog.
Next is issuing and returning books, the heart of the library management system project in Java.
Also Read: 12 Best UI UX Designer Tools: Choosing the Right Software for Your Projects
This feature allows library staff to assign books to registered students. The system must check book availability, capture the issue date, and calculate the due date.
Code Snippet:
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java to edit this template
*/
package jframe;
import java.awt.Desktop;
import java.awt.Toolkit;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
/**
*
* @author Name
*/
public class IssueBook extends javax.swing.JFrame {
/**
* Creates new form IssueBook
*/
// default constructor
public IssueBook() {
initComponents();
Connect();
setIconImage();
}
int id;
String uname;
String usertype;
// Parameterized Constructor
public IssueBook(int id, String username, String utype) {
initComponents();
Connect();
setIconImage();
this.id = id;
this.uname = username;
this.usertype = utype;
jLabel19.setText(utype);
if (usertype.equals("Admin")) {
issuebutton.setEnabled(true);
clearbutton.setEnabled(true);
} else if (usertype.equals("Librarian")) {
issuebutton.setEnabled(true);
clearbutton.setEnabled(true);
} else {
issuebutton.setEnabled(false);
}
}
// set Icon method
private void setIconImage() {
setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("logo.png")));
}
// Database connectivity method
public void Connect() {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost/library_management_system", "root", "");
} catch (SQLException ex) {
Logger.getLogger(ManageStudents.class.getName()).log(Level.SEVERE, null, ex);
} catch (ClassNotFoundException ex) {
Logger.getLogger(ManageStudents.class.getName()).log(Level.SEVERE, null, ex);
}
}
Connection con;
PreparedStatement pst;
ResultSet rs;
// Loading details from the database table method
public void getBookDetails() {
int book_id = Integer.parseInt(txt_bookid.getText());
try {
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost/library_management_system", "root", "");
pst = con.prepareStatement("select * from book_details where book_id=?");
pst.setInt(1, book_id);
rs = pst.executeQuery();
if (rs.next()) {
issue_bookid.setText(rs.getString("book_id"));
issue_bookname.setText(rs.getString("book_name"));
issue_author.setText(rs.getString("author"));
issue_quantity.setText(rs.getString("quantity"));
txt_bookerror.setText("");
} else {
txt_bookerror.setText("Book Id not found!");
issue_bookid.setText("");
issue_bookname.setText("");
issue_author.setText("");
issue_quantity.setText("");
}
} catch (Exception e) {
e.printStackTrace();
}
}
// Loading student details from the database table
public void getStudentDetails() {
int student_id = Integer.parseInt(txt_studentid.getText());
try {
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost/library_management_system", "root", "");
pst = con.prepareStatement("select * from student_details where student_id=?");
pst.setInt(1, student_id);
rs = pst.executeQuery();
if (rs.next()) {
text_studentid.setText(rs.getString("student_id"));
text_studentname.setText(rs.getString("student_name"));
text_course.setText(rs.getString("course"));
text_branch.setText(rs.getString("branch"));
txt_studenterror.setText("");
} else {
txt_studenterror.setText("Student Id not found!");
text_studentid.setText("");
text_studentname.setText("");
text_course.setText("");
text_branch.setText("");
}
} catch (Exception e) {
e.printStackTrace();
}
}
// Update book count to the database table
public void updateBookCount() {
try {
int bookId = Integer.parseInt(txt_bookid.getText());
pst = con.prepareStatement("update book_details set quantity=quantity-1 where book_id=?");
pst.setInt(1, bookId);
int rowCount = pst.executeUpdate();
if (rowCount > 0) {
JOptionPane.showMessageDialog(this, "Book Count updated successfully!");
int initialCount = Integer.parseInt(issue_quantity.getText());
issue_quantity.setText(Integer.toString(initialCount - 1));
} else {
JOptionPane.showMessageDialog(this, "Error in updating Book count");
}
} catch (SQLException ex) {
Logger.getLogger(IssueBook.class.getName()).log(Level.SEVERE, null, ex);
}
}
// Checking duplicate records
public boolean isAlreadyIssued() {
boolean isAlreadyIssued = false;
int bookId = Integer.parseInt(txt_bookid.getText());
int studentId = Integer.parseInt(txt_studentid.getText());
try {
Connect();
String sql = "select * from issue_book_details where book_id=? and student_id=? and status=?";
pst = con.prepareStatement(sql);
pst.setInt(1, bookId);
pst.setInt(2, studentId);
pst.setString(3, "pending");
rs = pst.executeQuery();
if (rs.next()) {
isAlreadyIssued = true;
} else {
isAlreadyIssued = false;
}
} catch (SQLException e) {
e.printStackTrace();
}
return isAlreadyIssued;
}
/**
* 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() {
jLabel20 = new javax.swing.JLabel();
jPanel7 = new javax.swing.JPanel();
jPanel1 = new javax.swing.JPanel();
jPanel2 = new javax.swing.JPanel();
jPanel4 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jPanel5 = new javax.swing.JPanel();
issue_quantity = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
issue_bookid = new javax.swing.JLabel();
issue_bookname = new javax.swing.JLabel();
issue_author = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
txt_bookerror = new javax.swing.JLabel();
jPanel3 = new javax.swing.JPanel();
jPanel6 = new javax.swing.JPanel();
text_branch = new javax.swing.JLabel();
jLabel13 = new javax.swing.JLabel();
jLabel14 = new javax.swing.JLabel();
text_course = new javax.swing.JLabel();
text_studentname = new javax.swing.JLabel();
jLabel17 = new javax.swing.JLabel();
jLabel18 = new javax.swing.JLabel();
text_studentid = new javax.swing.JLabel();
jLabel21 = new javax.swing.JLabel();
txt_studenterror = new javax.swing.JLabel();
jLabel11 = new javax.swing.JLabel();
jPanel8 = new javax.swing.JPanel();
jPanel9 = new javax.swing.JPanel();
jLabel22 = new javax.swing.JLabel();
txt_bookid = new app.bolivia.swing.JCTextField();
jLabel23 = new javax.swing.JLabel();
txt_studentid = new app.bolivia.swing.JCTextField();
jLabel24 = new javax.swing.JLabel();
jLabel25 = new javax.swing.JLabel();
jLabel26 = new javax.swing.JLabel();
clearbutton = new rojerusan.RSMaterialButtonRectangle();
issuebutton = new rojerusan.RSMaterialButtonRectangle();
date_issuedate = new com.toedter.calendar.JDateChooser();
date_duedate = new com.toedter.calendar.JDateChooser();
jLabel3 = new javax.swing.JLabel();
jLabel8 = new javax.swing.JLabel();
jLabel27 = new javax.swing.JLabel();
jLabel19 = new javax.swing.JLabel();
jLabel20.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N
jLabel20.setForeground(new java.awt.Color(255, 255, 255));
jLabel20.setIcon(new javax.swing.ImageIcon(getClass().getResource("/AddNewBookIcons/icons8_Student_Registration_100px_2.png"))); // NOI18N
jLabel20.setText(" Student Details");
jPanel7.setBackground(new java.awt.Color(255, 255, 255));
javax.swing.GroupLayout jPanel7Layout = new javax.swing.GroupLayout(jPanel7);
jPanel7.setLayout(jPanel7Layout);
jPanel7Layout.setHorizontalGroup(
jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 310, Short.MAX_VALUE)
);
jPanel7Layout.setVerticalGroup(
jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 5, Short.MAX_VALUE)
);
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setUndecorated(true);
getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel1.setBackground(new java.awt.Color(255, 255, 255));
jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel2.setBackground(new java.awt.Color(255, 51, 51));
jPanel2.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel4.setBackground(new java.awt.Color(51, 153, 255));
jLabel1.setFont(new java.awt.Font("Tahoma", 1, 17)); // NOI18N
jLabel1.setForeground(new java.awt.Color(255, 255, 255));
jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/AddNewBookIcons/icons8_Rewind_48px.png"))); // NOI18N
jLabel1.setText("BACK");
jLabel1.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel1MouseClicked(evt);
}
});
javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
jPanel4.setLayout(jPanel4Layout);
jPanel4Layout.setHorizontalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 98, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(16, Short.MAX_VALUE))
);
jPanel4Layout.setVerticalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel2.add(jPanel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 120, 40));
jLabel2.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N
jLabel2.setForeground(new java.awt.Color(255, 255, 255));
jLabel2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/AddNewBookIcons/icons8_Literature_100px_1.png"))); // NOI18N
jLabel2.setText(" Book Details");
jPanel2.add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(80, 110, -1, -1));
jPanel5.setBackground(new java.awt.Color(255, 255, 255));
javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
jPanel5.setLayout(jPanel5Layout);
jPanel5Layout.setHorizontalGroup(
jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 310, Short.MAX_VALUE)
);
jPanel5Layout.setVerticalGroup(
jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 5, Short.MAX_VALUE)
);
jPanel2.add(jPanel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(60, 220, 310, 5));
issue_quantity.setBackground(new java.awt.Color(255, 255, 255));
issue_quantity.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
issue_quantity.setForeground(new java.awt.Color(255, 255, 255));
jPanel2.add(issue_quantity, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 600, 140, 40));
jLabel5.setBackground(new java.awt.Color(255, 255, 255));
jLabel5.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
jLabel5.setForeground(new java.awt.Color(255, 255, 255));
jLabel5.setText("Book Name :");
jPanel2.add(jLabel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 440, -1, -1));
jLabel6.setBackground(new java.awt.Color(255, 255, 255));
jLabel6.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
jLabel6.setForeground(new java.awt.Color(255, 255, 255));
jLabel6.setText("Author :");
jPanel2.add(jLabel6, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 530, -1, -1));
jLabel7.setBackground(new java.awt.Color(255, 255, 255));
jLabel7.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
jLabel7.setForeground(new java.awt.Color(255, 255, 255));
jLabel7.setText("Book Id :");
jPanel2.add(jLabel7, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 350, 130, -1));
issue_bookid.setBackground(new java.awt.Color(255, 255, 255));
issue_bookid.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
issue_bookid.setForeground(new java.awt.Color(255, 255, 255));
jPanel2.add(issue_bookid, new org.netbeans.lib.awtextra.AbsoluteConstraints(200, 350, 130, 30));
issue_bookname.setBackground(new java.awt.Color(255, 255, 255));
issue_bookname.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
issue_bookname.setForeground(new java.awt.Color(255, 255, 255));
jPanel2.add(issue_bookname, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 440, 220, 30));
issue_author.setBackground(new java.awt.Color(255, 255, 255));
issue_author.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
issue_author.setForeground(new java.awt.Color(255, 255, 255));
jPanel2.add(issue_author, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 520, 210, 50));
jLabel4.setBackground(new java.awt.Color(255, 255, 255));
jLabel4.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
jLabel4.setForeground(new java.awt.Color(255, 255, 255));
jLabel4.setText("Quantity :");
jPanel2.add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 610, -1, -1));
txt_bookerror.setBackground(new java.awt.Color(255, 255, 255));
txt_bookerror.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N
txt_bookerror.setForeground(new java.awt.Color(255, 255, 0));
jPanel2.add(txt_bookerror, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 690, 300, 50));
jPanel1.add(jPanel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 420, 800));
jPanel3.setBackground(new java.awt.Color(51, 153, 255));
jPanel3.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel6.setBackground(new java.awt.Color(255, 255, 255));
javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6);
jPanel6.setLayout(jPanel6Layout);
jPanel6Layout.setHorizontalGroup(
jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 310, Short.MAX_VALUE)
);
jPanel6Layout.setVerticalGroup(
jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 5, Short.MAX_VALUE)
);
jPanel3.add(jPanel6, new org.netbeans.lib.awtextra.AbsoluteConstraints(60, 220, 310, 5));
text_branch.setBackground(new java.awt.Color(255, 255, 255));
text_branch.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
text_branch.setForeground(new java.awt.Color(255, 255, 255));
jPanel3.add(text_branch, new org.netbeans.lib.awtextra.AbsoluteConstraints(210, 610, 170, 30));
jLabel13.setBackground(new java.awt.Color(255, 255, 255));
jLabel13.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
jLabel13.setForeground(new java.awt.Color(255, 255, 255));
jLabel13.setText("Branch :");
jPanel3.add(jLabel13, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 610, -1, -1));
jLabel14.setBackground(new java.awt.Color(255, 255, 255));
jLabel14.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
jLabel14.setForeground(new java.awt.Color(255, 255, 255));
jLabel14.setText("Course :");
jPanel3.add(jLabel14, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 530, -1, -1));
text_course.setBackground(new java.awt.Color(255, 255, 255));
text_course.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
text_course.setForeground(new java.awt.Color(255, 255, 255));
jPanel3.add(text_course, new org.netbeans.lib.awtextra.AbsoluteConstraints(210, 530, 150, 30));
text_studentname.setBackground(new java.awt.Color(255, 255, 255));
text_studentname.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
text_studentname.setForeground(new java.awt.Color(255, 255, 255));
jPanel3.add(text_studentname, new org.netbeans.lib.awtextra.AbsoluteConstraints(200, 430, 200, 40));
jLabel17.setBackground(new java.awt.Color(255, 255, 255));
jLabel17.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
jLabel17.setForeground(new java.awt.Color(255, 255, 255));
jLabel17.setText("Student Name :");
jPanel3.add(jLabel17, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 440, -1, -1));
jLabel18.setBackground(new java.awt.Color(255, 255, 255));
jLabel18.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
jLabel18.setForeground(new java.awt.Color(255, 255, 255));
jLabel18.setText("Student ID :");
jPanel3.add(jLabel18, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 350, 150, -1));
text_studentid.setBackground(new java.awt.Color(255, 255, 255));
text_studentid.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
text_studentid.setForeground(new java.awt.Color(255, 255, 255));
jPanel3.add(text_studentid, new org.netbeans.lib.awtextra.AbsoluteConstraints(200, 340, 150, 40));
jLabel21.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N
jLabel21.setForeground(new java.awt.Color(255, 255, 255));
jLabel21.setIcon(new javax.swing.ImageIcon(getClass().getResource("/AddNewBookIcons/icons8_Student_Registration_100px_2.png"))); // NOI18N
jLabel21.setText(" Student Details");
jPanel3.add(jLabel21, new org.netbeans.lib.awtextra.AbsoluteConstraints(60, 100, -1, -1));
txt_studenterror.setBackground(new java.awt.Color(255, 255, 255));
txt_studenterror.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N
txt_studenterror.setForeground(new java.awt.Color(255, 255, 0));
jPanel3.add(txt_studenterror, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 680, 300, 50));
jPanel1.add(jPanel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(460, 0, 420, 800));
jLabel11.setBackground(new java.awt.Color(255, 51, 51));
jLabel11.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N
jLabel11.setForeground(new java.awt.Color(255, 51, 51));
jLabel11.setIcon(new javax.swing.ImageIcon(getClass().getResource("/AddNewBookIcons/icons8_Books_52px_1.png"))); // NOI18N
jLabel11.setText(" Issue Book");
jPanel1.add(jLabel11, new org.netbeans.lib.awtextra.AbsoluteConstraints(1040, 130, -1, -1));
jPanel8.setBackground(new java.awt.Color(255, 51, 51));
javax.swing.GroupLayout jPanel8Layout = new javax.swing.GroupLayout(jPanel8);
jPanel8.setLayout(jPanel8Layout);
jPanel8Layout.setHorizontalGroup(
jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 310, Short.MAX_VALUE)
);
jPanel8Layout.setVerticalGroup(
jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 5, Short.MAX_VALUE)
);
jPanel1.add(jPanel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(1010, 190, -1, 5));
jPanel9.setBackground(new java.awt.Color(51, 153, 255));
jPanel9.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jPanel9.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jPanel9MouseClicked(evt);
}
});
jPanel9.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jLabel22.setFont(new java.awt.Font("Segoe UI", 1, 18)); // NOI18N
jLabel22.setForeground(new java.awt.Color(255, 255, 255));
jLabel22.setText("X");
jLabel22.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel22MouseClicked(evt);
}
});
jPanel9.add(jLabel22, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 0, -1, -1));
jPanel1.add(jPanel9, new org.netbeans.lib.awtextra.AbsoluteConstraints(1350, 0, 60, 30));
txt_bookid.setBorder(javax.swing.BorderFactory.createMatteBorder(0, 0, 2, 0, new java.awt.Color(255, 51, 51)));
txt_bookid.setForeground(new java.awt.Color(51, 51, 51));
txt_bookid.setCaretColor(new java.awt.Color(204, 204, 204));
txt_bookid.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
txt_bookid.setPhColor(new java.awt.Color(51, 51, 51));
txt_bookid.setPlaceholder("Enter Book Id");
txt_bookid.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
txt_bookidFocusLost(evt);
}
});
jPanel1.add(txt_bookid, new org.netbeans.lib.awtextra.AbsoluteConstraints(1030, 250, 300, -1));
jLabel23.setFont(new java.awt.Font("Tahoma", 1, 16)); // NOI18N
jLabel23.setForeground(new java.awt.Color(255, 51, 51));
jLabel23.setText("Book Id:");
jPanel1.add(jLabel23, new org.netbeans.lib.awtextra.AbsoluteConstraints(940, 260, -1, 30));
txt_studentid.setBorder(javax.swing.BorderFactory.createMatteBorder(0, 0, 2, 0, new java.awt.Color(255, 51, 51)));
txt_studentid.setForeground(new java.awt.Color(51, 51, 51));
txt_studentid.setCaretColor(new java.awt.Color(204, 204, 204));
txt_studentid.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
txt_studentid.setPhColor(new java.awt.Color(51, 51, 51));
txt_studentid.setPlaceholder("Enter Student Id");
txt_studentid.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
txt_studentidFocusLost(evt);
}
});
jPanel1.add(txt_studentid, new org.netbeans.lib.awtextra.AbsoluteConstraints(1030, 340, 300, -1));
jLabel24.setFont(new java.awt.Font("Tahoma", 1, 16)); // NOI18N
jLabel24.setForeground(new java.awt.Color(255, 51, 51));
jLabel24.setText("Issue Date:");
jPanel1.add(jLabel24, new org.netbeans.lib.awtextra.AbsoluteConstraints(930, 430, 110, 30));
jLabel25.setFont(new java.awt.Font("Tahoma", 1, 16)); // NOI18N
jLabel25.setForeground(new java.awt.Color(255, 51, 51));
jLabel25.setText("Student Id:");
jPanel1.add(jLabel25, new org.netbeans.lib.awtextra.AbsoluteConstraints(920, 350, 110, 30));
jLabel26.setFont(new java.awt.Font("Tahoma", 1, 16)); // NOI18N
jLabel26.setForeground(new java.awt.Color(255, 51, 51));
jLabel26.setText("Due Date :");
jPanel1.add(jLabel26, new org.netbeans.lib.awtextra.AbsoluteConstraints(930, 530, 110, 30));
clearbutton.setBackground(new java.awt.Color(255, 51, 51));
clearbutton.setText("clear data");
clearbutton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
clearbuttonActionPerformed(evt);
}
});
jPanel1.add(clearbutton, new org.netbeans.lib.awtextra.AbsoluteConstraints(1170, 650, 190, 50));
issuebutton.setBackground(new java.awt.Color(255, 51, 51));
issuebutton.setText("Issue Book");
issuebutton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
issuebuttonActionPerformed(evt);
}
});
jPanel1.add(issuebutton, new org.netbeans.lib.awtextra.AbsoluteConstraints(960, 650, 190, 50));
date_issuedate.setBackground(new java.awt.Color(255, 255, 255));
date_issuedate.setForeground(new java.awt.Color(255, 51, 51));
jPanel1.add(date_issuedate, new org.netbeans.lib.awtextra.AbsoluteConstraints(1040, 430, 290, 40));
jPanel1.add(date_duedate, new org.netbeans.lib.awtextra.AbsoluteConstraints(1040, 520, 290, 40));
jLabel3.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
jLabel3.setText("Naveenkumar J");
jLabel3.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel3.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel3MouseClicked(evt);
}
});
jPanel1.add(jLabel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(1280, 770, -1, -1));
jLabel8.setText("Developed by:");
jPanel1.add(jLabel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(1200, 770, -1, -1));
jLabel27.setFont(new java.awt.Font("Tahoma", 1, 17)); // NOI18N
jLabel27.setForeground(new java.awt.Color(51, 51, 51));
jLabel27.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_Read_Online_26px.png"))); // NOI18N
jLabel27.setText("Welcome,");
jLabel27.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel27.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel27MouseClicked(evt);
}
});
jPanel1.add(jLabel27, new org.netbeans.lib.awtextra.AbsoluteConstraints(1150, 0, 120, 40));
jLabel19.setFont(new java.awt.Font("Tahoma", 1, 17)); // NOI18N
jLabel19.setForeground(new java.awt.Color(51, 51, 51));
jLabel19.setText(" usertype");
jLabel19.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel19.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel19MouseClicked(evt);
}
});
jPanel1.add(jLabel19, new org.netbeans.lib.awtextra.AbsoluteConstraints(1260, 10, -1, -1));
getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 1410, 800));
setSize(new java.awt.Dimension(1411, 803));
setLocationRelativeTo(null);
}// </editor-fold>//GEN-END:initComponents
private void jLabel1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel1MouseClicked
// TODO add your handling code here:
HomePage hm = new HomePage(id, uname, usertype);
hm.setVisible(true);
this.dispose();
}//GEN-LAST:event_jLabel1MouseClicked
private void jLabel22MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel22MouseClicked
// TODO add your handling code here:
System.exit(0);
}//GEN-LAST:event_jLabel22MouseClicked
private void jPanel9MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jPanel9MouseClicked
// TODO add your handling code here:
System.exit(0);
}//GEN-LAST:event_jPanel9MouseClicked
private void txt_bookidFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txt_bookidFocusLost
// TODO add your handling code here:
if (!txt_bookid.getText().equals("")) {
getBookDetails();
}
}//GEN-LAST:event_txt_bookidFocusLost
private void txt_studentidFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txt_studentidFocusLost
// TODO add your handling code here:
if (!txt_studentid.getText().equals("")) {
getStudentDetails();
}
}//GEN-LAST:event_txt_studentidFocusLost
private void clearbuttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_clearbuttonActionPerformed
// TODO add your handling code here:
txt_bookid.setText("");
issue_bookid.setText("");
issue_bookname.setText("");
issue_author.setText("");
issue_quantity.setText("");
txt_bookerror.setText("");
txt_studentid.setText("");
text_studentid.setText("");
text_studentname.setText("");
text_course.setText("");
text_branch.setText("");
txt_studenterror.setText("");
date_duedate.setDate(null);
date_issuedate.setDate(null);
}//GEN-LAST:event_clearbuttonActionPerformed
private void issuebuttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_issuebuttonActionPerformed
try {
// TODO add your handling code here:
if (issue_quantity.getText().equals("0")) {
JOptionPane.showMessageDialog(this, "This book is currently unavailable");
} else {
if (isAlreadyIssued() == false) {
int bookId = Integer.parseInt(txt_bookid.getText());
String bookName = issue_bookname.getText();
int studentId = Integer.parseInt(txt_studentid.getText());
String studentName = text_studentname.getText();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String issuedate = df.format(date_issuedate.getDate());
String duedate = df.format(date_duedate.getDate());
pst = con.prepareStatement("insert into issue_book_details(book_id,book_name,student_id,student_name,issue_date,due_date,status)values(?,?,?,?,?,?,?)");
pst.setInt(1, bookId);
pst.setString(2, bookName);
pst.setInt(3, studentId);
pst.setString(4, studentName);
pst.setString(5, issuedate);
pst.setString(6, duedate);
pst.setString(7, "pending");
pst.executeUpdate();
JOptionPane.showMessageDialog(this, "Book Issued successfully...");
updateBookCount();
} else {
JOptionPane.showMessageDialog(this, "This student already has this book");
}
}
txt_bookid.setText("");
txt_studentid.setText("");
date_duedate.setDate(null);
date_issuedate.setDate(null);
} catch (SQLException ex) {
Logger.getLogger(IssueBook.class.getName()).log(Level.SEVERE, null, ex);
}
}//GEN-LAST:event_issuebuttonActionPerformed
private void jLabel3MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel3MouseClicked
// TODO add your handling code here:
try {
// TODO add your handling code here:
Desktop.getDesktop().browse(new URI("https://github.com/naveenkumar-j"));
} catch (IOException ex) {
Logger.getLogger(LoginPage.class.getName()).log(Level.SEVERE, null, ex);
} catch (URISyntaxException ex) {
Logger.getLogger(LoginPage.class.getName()).log(Level.SEVERE, null, ex);
}
}//GEN-LAST:event_jLabel3MouseClicked
private void jLabel27MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel27MouseClicked
// TODO add your handling code here:
}//GEN-LAST:event_jLabel27MouseClicked
private void jLabel19MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel19MouseClicked
// TODO add your handling code here:
}//GEN-LAST:event_jLabel19MouseClicked
/**
* @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(IssueBook.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(IssueBook.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(IssueBook.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(IssueBook.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 IssueBook().setVisible(true);
}
});
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private rojerusan.RSMaterialButtonRectangle clearbutton;
private com.toedter.calendar.JDateChooser date_duedate;
private com.toedter.calendar.JDateChooser date_issuedate;
private javax.swing.JLabel issue_author;
private javax.swing.JLabel issue_bookid;
private javax.swing.JLabel issue_bookname;
private javax.swing.JLabel issue_quantity;
private rojerusan.RSMaterialButtonRectangle issuebutton;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel13;
private javax.swing.JLabel jLabel14;
private javax.swing.JLabel jLabel17;
private javax.swing.JLabel jLabel18;
private javax.swing.JLabel jLabel19;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel20;
private javax.swing.JLabel jLabel21;
private javax.swing.JLabel jLabel22;
private javax.swing.JLabel jLabel23;
private javax.swing.JLabel jLabel24;
private javax.swing.JLabel jLabel25;
private javax.swing.JLabel jLabel26;
private javax.swing.JLabel jLabel27;
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.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JPanel jPanel4;
private javax.swing.JPanel jPanel5;
private javax.swing.JPanel jPanel6;
private javax.swing.JPanel jPanel7;
private javax.swing.JPanel jPanel8;
private javax.swing.JPanel jPanel9;
private javax.swing.JLabel text_branch;
private javax.swing.JLabel text_course;
private javax.swing.JLabel text_studentid;
private javax.swing.JLabel text_studentname;
private javax.swing.JLabel txt_bookerror;
private app.bolivia.swing.JCTextField txt_bookid;
private javax.swing.JLabel txt_studenterror;
private app.bolivia.swing.JCTextField txt_studentid;
// End of variables declaration//GEN-END:variables
}
Code Explanation: You’ll implement logic to check if the book is available and then update its status in the database. The due date is calculated based on ithe ssue policy (e.g., 14 days). This module also links the transaction with the student ID and book ID.
Output: An intuitive form where staff can select a student, choose a book, and issue it. After submission, the system confirms the issue and displays the due date.
Stay Ahead with upGrad’s Free Courses. Turn daily learning into career growth. Explore upGrad’s Free Courses to build in-demand skills, stay industry-ready, and take the next step in your tech journey.
Now that books can be issued, let’s look at how the system processes returns and handles overdue penalties.
The return book module checks the return date, updates the book’s status to "available," and calculates any late fees if applicable.
Code Snippet:
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java to edit this template
*/
package jframe;
import java.awt.Desktop;
import java.awt.Toolkit;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
/**
*
* @author Name
*/
public class ReturnBook extends javax.swing.JFrame {
/**
* Creates new form IssueBook
*/
// default constructor
public ReturnBook() {
initComponents();
Connect();
setIconImage();
}
int id;
String uname;
String usertype;
// Parameterized constructor
public ReturnBook(int id, String username, String utype) {
initComponents();
Connect();
setIconImage();
this.id = id;
this.uname = username;
this.usertype = utype;
jLabel19.setText(utype);
if (usertype.equals("Admin")) {
findbutton.setEnabled(true);
returnbutton.setEnabled(true);
} else if (usertype.equals("Librarian")) {
findbutton.setEnabled(true);
returnbutton.setEnabled(true);
} else {
findbutton.setEnabled(true);
returnbutton.setEnabled(false);
}
}
// Set Icon method
private void setIconImage() {
setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("logo.png")));
}
Connection con;
PreparedStatement pst;
ResultSet rs;
// Database connectivity
public void Connect() {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost/library_management_system", "root", "");
} catch (SQLException ex) {
Logger.getLogger(ManageStudents.class.getName()).log(Level.SEVERE, null, ex);
} catch (ClassNotFoundException ex) {
Logger.getLogger(ManageStudents.class.getName()).log(Level.SEVERE, null, ex);
}
}
// Loading Issued book details
public void getIssueBookDetails() {
int bookId = Integer.parseInt(txt_bookid.getText());
int studentId = Integer.parseInt(txt_studentid.getText());
try {
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost/library_management_system", "root", "");
pst = con.prepareStatement("select * from issue_book_details where book_id=? and student_id=? and status=?");
pst.setInt(1, bookId);
pst.setInt(2, studentId);
pst.setString(3, "pending");
rs = pst.executeQuery();
if (rs.next()) {
lbl_issueid.setText(rs.getString("id"));
lbl_bookid.setText(rs.getString("book_id"));
lbl_bookname.setText(rs.getString("book_name"));
lbl_studentid.setText(rs.getString("student_id"));
lbl_studentname.setText(rs.getString("student_name"));
lbl_issuedate.setText(rs.getString("issue_date"));
lbl_duedate.setText(rs.getString("due_date"));
txt_bookerror.setText("");
} else {
txt_bookerror.setText("No Records Found!");
lbl_issueid.setText("");
lbl_bookid.setText("");
lbl_bookname.setText("");
lbl_studentid.setText("");
lbl_studentname.setText("");
lbl_issuedate.setText("");
lbl_duedate.setText("");
}
} catch (Exception e) {
e.printStackTrace();
}
}
// Return the book
public boolean returnBook() {
boolean isReturned = false;
int bookId = Integer.parseInt(txt_bookid.getText());
int studentId = Integer.parseInt(txt_studentid.getText());
try {
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost/library_management_system", "root", "");
pst = con.prepareStatement("update issue_book_details set status=? where book_id=? and student_id=? and status=?");
pst.setString(1, "returned");
pst.setInt(2, bookId);
pst.setInt(3, studentId);
pst.setString(4, "pending");
int rowcount = pst.executeUpdate();
if (rowcount > 0) {
isReturned = true;
} else {
isReturned = false;
}
} catch (Exception e) {
e.printStackTrace();
}
return isReturned;
}
// Update the book count method
public void updateBookCount() {
try {
int bookId = Integer.parseInt(txt_bookid.getText());
pst = con.prepareStatement("update book_details set quantity=quantity+1 where book_id=?");
pst.setInt(1, bookId);
int rowCount = pst.executeUpdate();
if (rowCount > 0) {
JOptionPane.showMessageDialog(this, "Book Count updated successfully!");
} else {
JOptionPane.showMessageDialog(this, "Error in updating Book count");
}
} catch (SQLException ex) {
Logger.getLogger(ReturnBook.class.getName()).log(Level.SEVERE, null, ex);
}
}
/**
* 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() {
jLabel20 = new javax.swing.JLabel();
jPanel7 = new javax.swing.JPanel();
jPanel1 = new javax.swing.JPanel();
jPanel2 = new javax.swing.JPanel();
jLabel2 = new javax.swing.JLabel();
jPanel5 = new javax.swing.JPanel();
lbl_duedate = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
lbl_issueid = new javax.swing.JLabel();
lbl_bookname = new javax.swing.JLabel();
lbl_studentid = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
txt_bookerror = new javax.swing.JLabel();
jLabel9 = new javax.swing.JLabel();
lbl_issuedate = new javax.swing.JLabel();
jLabel10 = new javax.swing.JLabel();
lbl_bookid = new javax.swing.JLabel();
lbl_bookid2 = new javax.swing.JLabel();
jLabel13 = new javax.swing.JLabel();
lbl_studentname = new javax.swing.JLabel();
jLabel11 = new javax.swing.JLabel();
jPanel8 = new javax.swing.JPanel();
jPanel9 = new javax.swing.JPanel();
jLabel22 = new javax.swing.JLabel();
txt_bookid = new app.bolivia.swing.JCTextField();
jLabel23 = new javax.swing.JLabel();
txt_studentid = new app.bolivia.swing.JCTextField();
jLabel25 = new javax.swing.JLabel();
returnbutton = new rojerusan.RSMaterialButtonRectangle();
findbutton = new rojerusan.RSMaterialButtonRectangle();
jLabel3 = new javax.swing.JLabel();
jLabel8 = new javax.swing.JLabel();
jLabel27 = new javax.swing.JLabel();
jLabel19 = new javax.swing.JLabel();
jPanel4 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jLabel12 = new javax.swing.JLabel();
jLabel20.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N
jLabel20.setForeground(new java.awt.Color(255, 255, 255));
jLabel20.setIcon(new javax.swing.ImageIcon(getClass().getResource("/AddNewBookIcons/icons8_Student_Registration_100px_2.png"))); // NOI18N
jLabel20.setText(" Student Details");
jPanel7.setBackground(new java.awt.Color(255, 255, 255));
javax.swing.GroupLayout jPanel7Layout = new javax.swing.GroupLayout(jPanel7);
jPanel7.setLayout(jPanel7Layout);
jPanel7Layout.setHorizontalGroup(
jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 310, Short.MAX_VALUE)
);
jPanel7Layout.setVerticalGroup(
jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 5, Short.MAX_VALUE)
);
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setUndecorated(true);
getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel1.setBackground(new java.awt.Color(255, 255, 255));
jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel2.setBackground(new java.awt.Color(255, 51, 51));
jPanel2.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jLabel2.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N
jLabel2.setForeground(new java.awt.Color(255, 255, 255));
jLabel2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/AddNewBookIcons/icons8_Literature_100px_1.png"))); // NOI18N
jLabel2.setText(" Book Details");
jPanel2.add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(80, 40, -1, -1));
jPanel5.setBackground(new java.awt.Color(255, 255, 255));
javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
jPanel5.setLayout(jPanel5Layout);
jPanel5Layout.setHorizontalGroup(
jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 310, Short.MAX_VALUE)
);
jPanel5Layout.setVerticalGroup(
jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 5, Short.MAX_VALUE)
);
jPanel2.add(jPanel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(60, 150, 310, 5));
lbl_duedate.setBackground(new java.awt.Color(255, 255, 255));
lbl_duedate.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
lbl_duedate.setForeground(new java.awt.Color(255, 255, 255));
jPanel2.add(lbl_duedate, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 580, 140, 40));
jLabel5.setBackground(new java.awt.Color(255, 255, 255));
jLabel5.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
jLabel5.setForeground(new java.awt.Color(255, 255, 255));
jLabel5.setText("Book Name :");
jPanel2.add(jLabel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 340, 140, -1));
jLabel6.setBackground(new java.awt.Color(255, 255, 255));
jLabel6.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
jLabel6.setForeground(new java.awt.Color(255, 255, 255));
jLabel6.setText("Student Id :");
jPanel2.add(jLabel6, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 400, -1, -1));
jLabel7.setBackground(new java.awt.Color(255, 255, 255));
jLabel7.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
jLabel7.setForeground(new java.awt.Color(255, 255, 255));
jLabel7.setText("Issue Id :");
jPanel2.add(jLabel7, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 210, 150, -1));
lbl_issueid.setBackground(new java.awt.Color(255, 255, 255));
lbl_issueid.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
lbl_issueid.setForeground(new java.awt.Color(255, 255, 255));
jPanel2.add(lbl_issueid, new org.netbeans.lib.awtextra.AbsoluteConstraints(200, 210, 130, 30));
lbl_bookname.setBackground(new java.awt.Color(255, 255, 255));
lbl_bookname.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
lbl_bookname.setForeground(new java.awt.Color(255, 255, 255));
jPanel2.add(lbl_bookname, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 340, 220, 30));
lbl_studentid.setBackground(new java.awt.Color(255, 255, 255));
lbl_studentid.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
lbl_studentid.setForeground(new java.awt.Color(255, 255, 255));
jPanel2.add(lbl_studentid, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 390, 210, 40));
jLabel4.setBackground(new java.awt.Color(255, 255, 255));
jLabel4.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
jLabel4.setForeground(new java.awt.Color(255, 255, 255));
jLabel4.setText("Due Date :");
jPanel2.add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 590, -1, -1));
txt_bookerror.setBackground(new java.awt.Color(255, 255, 255));
txt_bookerror.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N
txt_bookerror.setForeground(new java.awt.Color(255, 255, 0));
jPanel2.add(txt_bookerror, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 670, 300, 50));
jLabel9.setBackground(new java.awt.Color(255, 255, 255));
jLabel9.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
jLabel9.setForeground(new java.awt.Color(255, 255, 255));
jLabel9.setText("Issue Date :");
jPanel2.add(jLabel9, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 520, -1, -1));
lbl_issuedate.setBackground(new java.awt.Color(255, 255, 255));
lbl_issuedate.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
lbl_issuedate.setForeground(new java.awt.Color(255, 255, 255));
jPanel2.add(lbl_issuedate, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 510, 140, 40));
jLabel10.setBackground(new java.awt.Color(255, 255, 255));
jLabel10.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
jLabel10.setForeground(new java.awt.Color(255, 255, 255));
jLabel10.setText("Book Id :");
jPanel2.add(jLabel10, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 280, 170, -1));
lbl_bookid.setBackground(new java.awt.Color(255, 255, 255));
lbl_bookid.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
lbl_bookid.setForeground(new java.awt.Color(255, 255, 255));
jPanel2.add(lbl_bookid, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 280, 220, 30));
lbl_bookid2.setBackground(new java.awt.Color(255, 255, 255));
lbl_bookid2.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
lbl_bookid2.setForeground(new java.awt.Color(255, 255, 255));
jPanel2.add(lbl_bookid2, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 280, 220, 30));
jLabel13.setBackground(new java.awt.Color(255, 255, 255));
jLabel13.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
jLabel13.setForeground(new java.awt.Color(255, 255, 255));
jLabel13.setText("Student Name :");
jPanel2.add(jLabel13, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 460, -1, -1));
lbl_studentname.setBackground(new java.awt.Color(255, 255, 255));
lbl_studentname.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
lbl_studentname.setForeground(new java.awt.Color(255, 255, 255));
jPanel2.add(lbl_studentname, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 450, 210, 40));
jPanel1.add(jPanel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(480, 0, 420, 800));
jLabel11.setBackground(new java.awt.Color(255, 51, 51));
jLabel11.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N
jLabel11.setForeground(new java.awt.Color(255, 51, 51));
jLabel11.setIcon(new javax.swing.ImageIcon(getClass().getResource("/AddNewBookIcons/icons8_Books_52px_1.png"))); // NOI18N
jLabel11.setText(" Return Book");
jPanel1.add(jLabel11, new org.netbeans.lib.awtextra.AbsoluteConstraints(1040, 130, -1, -1));
jPanel8.setBackground(new java.awt.Color(255, 51, 51));
javax.swing.GroupLayout jPanel8Layout = new javax.swing.GroupLayout(jPanel8);
jPanel8.setLayout(jPanel8Layout);
jPanel8Layout.setHorizontalGroup(
jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 310, Short.MAX_VALUE)
);
jPanel8Layout.setVerticalGroup(
jPanel8Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 5, Short.MAX_VALUE)
);
jPanel1.add(jPanel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(1010, 190, -1, 5));
jPanel9.setBackground(new java.awt.Color(51, 153, 255));
jPanel9.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jPanel9.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jPanel9MouseClicked(evt);
}
});
jPanel9.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jLabel22.setFont(new java.awt.Font("Segoe UI", 1, 18)); // NOI18N
jLabel22.setForeground(new java.awt.Color(255, 255, 255));
jLabel22.setText("X");
jLabel22.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel22MouseClicked(evt);
}
});
jPanel9.add(jLabel22, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 0, -1, -1));
jPanel1.add(jPanel9, new org.netbeans.lib.awtextra.AbsoluteConstraints(1350, 0, 60, 30));
txt_bookid.setBorder(javax.swing.BorderFactory.createMatteBorder(0, 0, 2, 0, new java.awt.Color(255, 51, 51)));
txt_bookid.setForeground(new java.awt.Color(51, 51, 51));
txt_bookid.setCaretColor(new java.awt.Color(204, 204, 204));
txt_bookid.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
txt_bookid.setPhColor(new java.awt.Color(51, 51, 51));
txt_bookid.setPlaceholder("Enter Book Id");
txt_bookid.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
txt_bookidFocusLost(evt);
}
});
jPanel1.add(txt_bookid, new org.netbeans.lib.awtextra.AbsoluteConstraints(1030, 250, 300, -1));
jLabel23.setFont(new java.awt.Font("Tahoma", 1, 16)); // NOI18N
jLabel23.setForeground(new java.awt.Color(255, 51, 51));
jLabel23.setText("Book Id:");
jPanel1.add(jLabel23, new org.netbeans.lib.awtextra.AbsoluteConstraints(940, 260, -1, 30));
txt_studentid.setBorder(javax.swing.BorderFactory.createMatteBorder(0, 0, 2, 0, new java.awt.Color(255, 51, 51)));
txt_studentid.setForeground(new java.awt.Color(51, 51, 51));
txt_studentid.setCaretColor(new java.awt.Color(204, 204, 204));
txt_studentid.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
txt_studentid.setPhColor(new java.awt.Color(51, 51, 51));
txt_studentid.setPlaceholder("Enter Student Id");
txt_studentid.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
txt_studentidFocusLost(evt);
}
});
jPanel1.add(txt_studentid, new org.netbeans.lib.awtextra.AbsoluteConstraints(1040, 370, 300, -1));
jLabel25.setFont(new java.awt.Font("Tahoma", 1, 16)); // NOI18N
jLabel25.setForeground(new java.awt.Color(255, 51, 51));
jLabel25.setText("Student Id:");
jPanel1.add(jLabel25, new org.netbeans.lib.awtextra.AbsoluteConstraints(930, 380, 110, 30));
returnbutton.setBackground(new java.awt.Color(255, 51, 51));
returnbutton.setText("return book");
returnbutton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
returnbuttonActionPerformed(evt);
}
});
jPanel1.add(returnbutton, new org.netbeans.lib.awtextra.AbsoluteConstraints(1060, 550, 190, 50));
findbutton.setBackground(new java.awt.Color(51, 153, 255));
findbutton.setText("Find");
findbutton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
findbuttonActionPerformed(evt);
}
});
jPanel1.add(findbutton, new org.netbeans.lib.awtextra.AbsoluteConstraints(1060, 470, 190, 50));
jLabel3.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
jLabel3.setText("Naveenkumar J");
jLabel3.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel3.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel3MouseClicked(evt);
}
});
jPanel1.add(jLabel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(1280, 770, -1, -1));
jLabel8.setText("Developed by:");
jPanel1.add(jLabel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(1200, 770, -1, -1));
jLabel27.setFont(new java.awt.Font("Tahoma", 1, 17)); // NOI18N
jLabel27.setForeground(new java.awt.Color(51, 51, 51));
jLabel27.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_Read_Online_26px.png"))); // NOI18N
jLabel27.setText("Welcome,");
jLabel27.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel27.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel27MouseClicked(evt);
}
});
jPanel1.add(jLabel27, new org.netbeans.lib.awtextra.AbsoluteConstraints(1150, 0, 120, 40));
jLabel19.setFont(new java.awt.Font("Tahoma", 1, 17)); // NOI18N
jLabel19.setForeground(new java.awt.Color(51, 51, 51));
jLabel19.setText(" usertype");
jLabel19.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel19.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel19MouseClicked(evt);
}
});
jPanel1.add(jLabel19, new org.netbeans.lib.awtextra.AbsoluteConstraints(1260, 10, -1, -1));
jPanel4.setBackground(new java.awt.Color(51, 153, 255));
jLabel1.setFont(new java.awt.Font("Tahoma", 1, 17)); // NOI18N
jLabel1.setForeground(new java.awt.Color(255, 255, 255));
jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/AddNewBookIcons/icons8_Rewind_48px.png"))); // NOI18N
jLabel1.setText("BACK");
jLabel1.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel1MouseClicked(evt);
}
});
javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
jPanel4.setLayout(jPanel4Layout);
jPanel4Layout.setHorizontalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 98, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(16, Short.MAX_VALUE))
);
jPanel4Layout.setVerticalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel1.add(jPanel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, 40));
jLabel12.setIcon(new javax.swing.ImageIcon(getClass().getResource("/icons/Return book.png"))); // NOI18N
jPanel1.add(jLabel12, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 220, 400, 360));
getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 1410, 800));
setSize(new java.awt.Dimension(1411, 803));
setLocationRelativeTo(null);
}// </editor-fold>//GEN-END:initComponents
private void jLabel1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel1MouseClicked
// TODO add your handling code here:
HomePage hm = new HomePage(id, uname, usertype);
hm.setVisible(true);
this.dispose();
}//GEN-LAST:event_jLabel1MouseClicked
private void jLabel22MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel22MouseClicked
// TODO add your handling code here:
System.exit(0);
}//GEN-LAST:event_jLabel22MouseClicked
private void jPanel9MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jPanel9MouseClicked
// TODO add your handling code here:
System.exit(0);
}//GEN-LAST:event_jPanel9MouseClicked
private void txt_bookidFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txt_bookidFocusLost
// TODO add your handling code here:
}//GEN-LAST:event_txt_bookidFocusLost
private void txt_studentidFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txt_studentidFocusLost
}//GEN-LAST:event_txt_studentidFocusLost
// clear text method
private void returnbuttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_returnbuttonActionPerformed
// TODO add your handling code here:
if (returnBook() == true) {
JOptionPane.showMessageDialog(this, "Book Returned Successfully!");
updateBookCount();
lbl_issueid.setText("");
lbl_bookid.setText("");
lbl_bookname.setText("");
lbl_studentid.setText("");
lbl_studentname.setText("");
lbl_issuedate.setText("");
lbl_duedate.setText("");
txt_bookid.setText("");
txt_studentid.setText("");
} else {
JOptionPane.showMessageDialog(this, "Book Returned Failed!");
}
}//GEN-LAST:event_returnbuttonActionPerformed
private void findbuttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_findbuttonActionPerformed
getIssueBookDetails();
}//GEN-LAST:event_findbuttonActionPerformed
// Developer details
private void jLabel3MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel3MouseClicked
// TODO add your handling code here:
try {
// TODO add your handling code here:
Desktop.getDesktop().browse(new URI("https://github.com/naveenkumar-j"));
} catch (IOException ex) {
Logger.getLogger(LoginPage.class.getName()).log(Level.SEVERE, null, ex);
} catch (URISyntaxException ex) {
Logger.getLogger(LoginPage.class.getName()).log(Level.SEVERE, null, ex);
}
}//GEN-LAST:event_jLabel3MouseClicked
private void jLabel27MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel27MouseClicked
// TODO add your handling code here:
}//GEN-LAST:event_jLabel27MouseClicked
private void jLabel19MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel19MouseClicked
// TODO add your handling code here:
}//GEN-LAST:event_jLabel19MouseClicked
/**
* @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(ReturnBook.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(ReturnBook.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(ReturnBook.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(ReturnBook.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new ReturnBook().setVisible(true);
}
});
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private rojerusan.RSMaterialButtonRectangle findbutton;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel12;
private javax.swing.JLabel jLabel13;
private javax.swing.JLabel jLabel19;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel20;
private javax.swing.JLabel jLabel22;
private javax.swing.JLabel jLabel23;
private javax.swing.JLabel jLabel25;
private javax.swing.JLabel jLabel27;
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.JLabel jLabel9;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel4;
private javax.swing.JPanel jPanel5;
private javax.swing.JPanel jPanel7;
private javax.swing.JPanel jPanel8;
private javax.swing.JPanel jPanel9;
private javax.swing.JLabel lbl_bookid;
private javax.swing.JLabel lbl_bookid2;
private javax.swing.JLabel lbl_bookname;
private javax.swing.JLabel lbl_duedate;
private javax.swing.JLabel lbl_issuedate;
private javax.swing.JLabel lbl_issueid;
private javax.swing.JLabel lbl_studentid;
private javax.swing.JLabel lbl_studentname;
private rojerusan.RSMaterialButtonRectangle returnbutton;
private javax.swing.JLabel txt_bookerror;
private app.bolivia.swing.JCTextField txt_bookid;
private app.bolivia.swing.JCTextField txt_studentid;
// End of variables declaration//GEN-END:variables
}
Code Explanation: You’ll write logic to fetch the original issue record, compare the current date to the due date, and apply a fine if the book is overdue. Once returned, the system updates the book’s availability.
Output: A return form that displays due dates, alerts staff of fines, and updates inventory in real time.
Also Read: Explore the Top 30+ DSA projects with source code in 2025
This feature allows admins to view comprehensive logs of all borrowing transactions, including issued books, return dates, student details, fines, and statuses.
Code snippet:
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java to edit this template
*/
package jframe;
import java.awt.Desktop;
import java.awt.Toolkit;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
/**
*
* @author Name
*/
public class ViewAllRecord extends javax.swing.JFrame {
/**
* Creates new form ViewAllRecord
*/
// default constructor
public ViewAllRecord() {
initComponents();
Connect();
Record_Load();
setIconImage();
}
// Set Icon method
private void setIconImage() {
setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("logo.png")));
}
int id;
String uname;
String usertype;
// Parameterized constructor
public ViewAllRecord(int id, String username, String utype) {
initComponents();
Connect();
setIconImage();
Record_Load();
this.id = id;
this.uname = username;
this.usertype = utype;
jLabel19.setText(utype);
}
Connection con;
PreparedStatement pst;
ResultSet rs;
DefaultTableModel d;
// Database connectivity
public void Connect() {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost/library_management_system", "root", "");
} catch (SQLException ex) {
Logger.getLogger(ManageBooks.class.getName()).log(Level.SEVERE, null, ex);
} catch (ClassNotFoundException ex) {
Logger.getLogger(ManageBooks.class.getName()).log(Level.SEVERE, null, ex);
}
}
// Clear records from the table
public void clearTable() {
d = (DefaultTableModel) jTable2.getModel();
d.setRowCount(0);
}
// Load Issued book details from the database table
public void Record_Load() {
int c;
try {
pst = con.prepareStatement("select * from issue_book_details");
rs = pst.executeQuery();
ResultSetMetaData rsd = rs.getMetaData();
c = rsd.getColumnCount();
d = (DefaultTableModel) jTable2.getModel();
d.setRowCount(0);
while (rs.next()) {
Vector v2 = new Vector();
for (int i = 1; i <= c; i++) {
v2.add(rs.getString("id"));
v2.add(rs.getString("book_id"));
v2.add(rs.getString("book_name"));
v2.add(rs.getString("student_id"));
v2.add(rs.getString("student_name"));
v2.add(rs.getString("issue_date"));
v2.add(rs.getString("due_date"));
v2.add(rs.getString("status"));
}
d.addRow(v2);
}
} catch (SQLException ex) {
ex.printStackTrace();
}
}
// Search method
public void search() {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String fromDate = df.format(date_fromdate.getDate());
String toDate = df.format(date_todate.getDate());
try {
String sql = "select * from issue_book_details where issue_date BETWEEN ? and ?";
pst = con.prepareStatement(sql);
pst.setString(1, fromDate);
pst.setString(2, toDate);
rs = pst.executeQuery();
if (rs.next() == false) {
JOptionPane.showMessageDialog(this, "No Records Found!");
} else {
while (rs.next()) {
Vector v2 = new Vector();
v2.add(rs.getString("id"));
v2.add(rs.getString("book_id"));
v2.add(rs.getString("book_name"));
v2.add(rs.getString("student_id"));
v2.add(rs.getString("student_name"));
v2.add(rs.getString("issue_date"));
v2.add(rs.getString("due_date"));
v2.add(rs.getString("status"));
d.addRow(v2);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 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() {
jPanel1 = new javax.swing.JPanel();
jLabel2 = new javax.swing.JLabel();
jPanel5 = new javax.swing.JPanel();
jPanel4 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jPanel8 = new javax.swing.JPanel();
jLabel12 = new javax.swing.JLabel();
date_todate = new com.toedter.calendar.JDateChooser();
date_fromdate = new com.toedter.calendar.JDateChooser();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
allrecords_button = new rojerusan.RSMaterialButtonRectangle();
jLabel27 = new javax.swing.JLabel();
jLabel19 = new javax.swing.JLabel();
search_button = new rojerusan.RSMaterialButtonRectangle();
jPanel2 = new javax.swing.JPanel();
jScrollPane1 = new javax.swing.JScrollPane();
jTable2 = new rojeru_san.complementos.RSTableMetro();
jLabel5 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setUndecorated(true);
getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel1.setBackground(new java.awt.Color(51, 153, 255));
jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jLabel2.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N
jLabel2.setForeground(new java.awt.Color(255, 255, 255));
jLabel2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/AddNewBookIcons/icons8_Literature_100px_1.png"))); // NOI18N
jLabel2.setText("View All Records");
jPanel1.add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(50, 50, -1, -1));
jPanel5.setBackground(new java.awt.Color(255, 255, 255));
javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);
jPanel5.setLayout(jPanel5Layout);
jPanel5Layout.setHorizontalGroup(
jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 310, Short.MAX_VALUE)
);
jPanel5Layout.setVerticalGroup(
jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 5, Short.MAX_VALUE)
);
jPanel1.add(jPanel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(50, 160, 310, 5));
jPanel4.setBackground(new java.awt.Color(255, 51, 51));
jLabel1.setFont(new java.awt.Font("Tahoma", 1, 17)); // NOI18N
jLabel1.setForeground(new java.awt.Color(255, 255, 255));
jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/AddNewBookIcons/icons8_Rewind_48px.png"))); // NOI18N
jLabel1.setText("BACK");
jLabel1.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel1.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel1MouseClicked(evt);
}
});
javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
jPanel4.setLayout(jPanel4Layout);
jPanel4Layout.setHorizontalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 98, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(16, Short.MAX_VALUE))
);
jPanel4Layout.setVerticalGroup(
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel4Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel1.add(jPanel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, 40));
jPanel8.setBackground(new java.awt.Color(255, 51, 51));
jPanel8.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jPanel8.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jPanel8MouseClicked(evt);
}
});
jPanel8.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jLabel12.setFont(new java.awt.Font("Segoe UI", 1, 18)); // NOI18N
jLabel12.setForeground(new java.awt.Color(255, 255, 255));
jLabel12.setText("X");
jLabel12.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel12MouseClicked(evt);
}
});
jPanel8.add(jLabel12, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 0, -1, -1));
jPanel1.add(jPanel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(1140, 0, 70, 30));
jPanel1.add(date_todate, new org.netbeans.lib.awtextra.AbsoluteConstraints(690, 100, 200, 40));
jPanel1.add(date_fromdate, new org.netbeans.lib.awtextra.AbsoluteConstraints(430, 100, 210, 40));
jLabel3.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
jLabel3.setForeground(new java.awt.Color(255, 255, 255));
jLabel3.setText("Due Date");
jPanel1.add(jLabel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(690, 70, -1, -1));
jLabel4.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
jLabel4.setForeground(new java.awt.Color(255, 255, 255));
jLabel4.setText("Issue Date");
jPanel1.add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(430, 70, -1, -1));
allrecords_button.setBackground(new java.awt.Color(255, 51, 51));
allrecords_button.setText("All Records");
allrecords_button.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
allrecords_buttonActionPerformed(evt);
}
});
jPanel1.add(allrecords_button, new org.netbeans.lib.awtextra.AbsoluteConstraints(1040, 90, 120, 60));
jLabel27.setFont(new java.awt.Font("Tahoma", 1, 17)); // NOI18N
jLabel27.setForeground(new java.awt.Color(51, 51, 51));
jLabel27.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_Read_Online_26px.png"))); // NOI18N
jLabel27.setText("Welcome,");
jLabel27.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel27.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel27MouseClicked(evt);
}
});
jPanel1.add(jLabel27, new org.netbeans.lib.awtextra.AbsoluteConstraints(940, 0, 120, 40));
jLabel19.setFont(new java.awt.Font("Tahoma", 1, 17)); // NOI18N
jLabel19.setForeground(new java.awt.Color(51, 51, 51));
jLabel19.setText(" usertype");
jLabel19.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel19.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel19MouseClicked(evt);
}
});
jPanel1.add(jLabel19, new org.netbeans.lib.awtextra.AbsoluteConstraints(1050, 10, -1, -1));
search_button.setBackground(new java.awt.Color(255, 51, 51));
search_button.setText("search");
search_button.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
search_buttonActionPerformed(evt);
}
});
jPanel1.add(search_button, new org.netbeans.lib.awtextra.AbsoluteConstraints(920, 90, 120, 60));
getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 1210, 210));
jPanel2.setBackground(new java.awt.Color(255, 255, 255));
jPanel2.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jTable2.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null, null, null, null, null},
{null, null, null, null, null, null, null, null},
{null, null, null, null, null, null, null, null},
{null, null, null, null, null, null, null, null},
{null, null, null, null, null, null, null, null},
{null, null, null, null, null, null, null, null},
{null, null, null, null, null, null, null, null},
{null, null, null, null, null, null, null, null},
{null, null, null, null, null, null, null, null},
{null, null, null, null, null, null, null, null},
{null, null, null, null, null, null, null, null},
{null, null, null, null, null, null, null, null},
{null, null, null, null, null, null, null, null}
},
new String [] {
"Issue ID", "Book ID", "Book Name", "Student ID", "Student Name", "Issue Date", "Due Date", "Status"
}
));
jTable2.setColorBackgoundHead(new java.awt.Color(51, 153, 255));
jTable2.setColorFilasBackgound2(new java.awt.Color(255, 255, 255));
jTable2.setColorSelBackgound(new java.awt.Color(255, 51, 51));
jTable2.setFuenteFilas(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jTable2.setFuenteFilasSelect(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jTable2.setFuenteHead(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jTable2.setRowHeight(30);
jScrollPane1.setViewportView(jTable2);
jPanel2.add(jScrollPane1, new org.netbeans.lib.awtextra.AbsoluteConstraints(50, 20, 1100, 440));
jLabel5.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
jLabel5.setText("Naveenkumar J");
jLabel5.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel5.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel5MouseClicked(evt);
}
});
jPanel2.add(jLabel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(1120, 480, -1, 10));
jLabel6.setText("Develped by:");
jPanel2.add(jLabel6, new org.netbeans.lib.awtextra.AbsoluteConstraints(1050, 470, -1, 30));
getContentPane().add(jPanel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 210, 1210, 500));
setSize(new java.awt.Dimension(1210, 708));
setLocationRelativeTo(null);
}// </editor-fold>//GEN-END:initComponents
private void jLabel1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel1MouseClicked
// TODO add your handling code here:
HomePage hm = new HomePage(id, uname, usertype);
hm.setVisible(true);
this.dispose();
}//GEN-LAST:event_jLabel1MouseClicked
private void jLabel12MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel12MouseClicked
// TODO add your handling code here:
System.exit(0);
}//GEN-LAST:event_jLabel12MouseClicked
private void jPanel8MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jPanel8MouseClicked
// TODO add your handling code here:
System.exit(0);
}//GEN-LAST:event_jPanel8MouseClicked
private void allrecords_buttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_allrecords_buttonActionPerformed
// TODO add your handling code here:
clearTable();
Record_Load();
}//GEN-LAST:event_allrecords_buttonActionPerformed
private void jLabel27MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel27MouseClicked
// TODO add your handling code here:
}//GEN-LAST:event_jLabel27MouseClicked
private void jLabel19MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel19MouseClicked
// TODO add your handling code here:
}//GEN-LAST:event_jLabel19MouseClicked
private void search_buttonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_search_buttonActionPerformed
// TODO add your handling code here:
if (date_fromdate.getDate() != null & date_todate.getDate() != null) {
clearTable();
search();
} else {
JOptionPane.showMessageDialog(this, "Please Select the date");
}
}//GEN-LAST:event_search_buttonActionPerformed
// Developer details
private void jLabel5MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel5MouseClicked
// TODO add your handling code here:
try {
// TODO add your handling code here:
Desktop.getDesktop().browse(new URI("https://github.com/naveenkumar-j"));
} catch (IOException ex) {
Logger.getLogger(LoginPage.class.getName()).log(Level.SEVERE, null, ex);
} catch (URISyntaxException ex) {
Logger.getLogger(LoginPage.class.getName()).log(Level.SEVERE, null, ex);
}
}//GEN-LAST:event_jLabel5MouseClicked
/**
* @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(ViewAllRecord.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(ViewAllRecord.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(ViewAllRecord.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(ViewAllRecord.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 ViewAllRecord().setVisible(true);
}
});
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private rojerusan.RSMaterialButtonRectangle allrecords_button;
private com.toedter.calendar.JDateChooser date_fromdate;
private com.toedter.calendar.JDateChooser date_todate;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel12;
private javax.swing.JLabel jLabel19;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel27;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel4;
private javax.swing.JPanel jPanel5;
private javax.swing.JPanel jPanel8;
private javax.swing.JScrollPane jScrollPane1;
private rojeru_san.complementos.RSTableMetro jTable2;
private rojerusan.RSMaterialButtonRectangle search_button;
// End of variables declaration//GEN-END:variables
}
Code Explanation: You’ll implement a function to query and display the complete transaction history. This includes book IDs, student IDs, issue and return dates, and fine status. The data can be shown in a table or report format.
Output: An organized admin panel view showing all historical transactions, highlighted overdue entries, and filtered options by student, book, or date.
Finally, tie it all together with a comprehensive admin dashboard.
Also Read: Java Tutorial: Learn Java Programming From Scratch For Beginners
H3: Admin Dashboard Functionality
Build a dashboard that overviews system stats, such as issued books, fines collected, and user activities.
Code snippet:
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java to edit this template
*/
package jframe;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Desktop;
import java.awt.Toolkit;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PiePlot;
import org.jfree.data.general.DefaultPieDataset;
/**
*
* @author Name
*/
public class HomePage extends javax.swing.JFrame {
/**
* Creates new form HomePage
*/
// Mouse Hover Effect
Color mouseEnterColor = new Color(0, 0, 0);
Color mouseExitColor = new Color(51, 51, 51);
// default constructor
public HomePage() {
initComponents();
Connect();
showPieChart();
Book_Load();
Student_Load();
setIconImage();
countStudentDetails();
countBookDetails();
countIssueBookDetails();
countDefaultersDetails();
}
// set Icon method
private void setIconImage() {
setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("logo.png")));
}
int id;
String uname;
String usertype;
// User defined constructor
public HomePage(int id, String username, String utype) {
initComponents();
Connect();
showPieChart();
Book_Load();
Student_Load();
setIconImage();
countStudentDetails();
countBookDetails();
countIssueBookDetails();
countDefaultersDetails();
this.uname = username;
this.usertype = utype;
jLabel2.setText(utype);
this.id = id;
}
Connection con;
PreparedStatement pst;
ResultSet rs;
DefaultTableModel d;
// Database connectivity method
public void Connect() {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost/library_management_system", "root", "");
} catch (SQLException ex) {
Logger.getLogger(ManageBooks.class.getName()).log(Level.SEVERE, null, ex);
} catch (ClassNotFoundException ex) {
Logger.getLogger(ManageBooks.class.getName()).log(Level.SEVERE, null, ex);
}
}
// Loading book details from the database table
public void Book_Load() {
int c;
try {
pst = con.prepareStatement("select * from book_details");
rs = pst.executeQuery();
ResultSetMetaData rsd = rs.getMetaData();
c = rsd.getColumnCount();
d = (DefaultTableModel) jTable2.getModel();
d.setRowCount(0);
while (rs.next()) {
Vector v2 = new Vector();
for (int i = 1; i <= c; i++) {
v2.add(rs.getString("book_id"));
v2.add(rs.getString("book_name"));
v2.add(rs.getString("author"));
v2.add(rs.getString("quantity"));
}
d.addRow(v2);
}
} catch (SQLException ex) {
Logger.getLogger(ManageBooks.class.getName()).log(Level.SEVERE, null, ex);
}
}
// Loading student details from the database table
public void Student_Load() {
int c;
try {
pst = con.prepareStatement("select * from student_details");
rs = pst.executeQuery();
ResultSetMetaData rsd = rs.getMetaData();
c = rsd.getColumnCount();
d = (DefaultTableModel) jTable1.getModel();
d.setRowCount(0);
while (rs.next()) {
Vector v2 = new Vector();
for (int i = 1; i <= c; i++) {
v2.add(rs.getString("student_id"));
v2.add(rs.getString("student_name"));
v2.add(rs.getString("course"));
v2.add(rs.getString("branch"));
}
d.addRow(v2);
}
} catch (SQLException ex) {
Logger.getLogger(HomePage.class.getName()).log(Level.SEVERE, null, ex);
}
}
// Counting No.of.Books from the database table
public void countBookDetails() {
int noOfBooksCount = 0;
try {
pst = con.prepareStatement("select * from book_details");
rs = pst.executeQuery();
while (rs.next()) {
noOfBooksCount++;
}
lbl_noOfBooks.setText(Integer.toString(noOfBooksCount));
} catch (Exception e) {
e.printStackTrace();
}
}
// Counting No.of.students rom the database table
public void countStudentDetails() {
int noOfStudentsCount = 0;
try {
pst = con.prepareStatement("select * from student_details");
rs = pst.executeQuery();
while (rs.next()) {
noOfStudentsCount++;
}
lbl_noOfStudents.setText(Integer.toString(noOfStudentsCount));
} catch (Exception e) {
e.printStackTrace();
}
}
// Counting No.of.Issued books from the database table
public void countIssueBookDetails() {
int noOfIssuedBooksCount = 0;
try {
pst = con.prepareStatement("select * from issue_book_details where status=?");
pst.setString(1, "pending");
rs = pst.executeQuery();
while (rs.next()) {
noOfIssuedBooksCount++;
}
lbl_noOfIssuedBooks.setText(Integer.toString(noOfIssuedBooksCount));
} catch (Exception e) {
e.printStackTrace();
}
}
// Counting No.of.Defaulters from the database table
public void countDefaultersDetails() {
long l = System.currentTimeMillis();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String todayDate = df.format(l);
int noOfDefaultersCount = 0;
try {
pst = con.prepareStatement("select * from issue_book_details where due_date<?");
pst.setString(1, todayDate);
rs = pst.executeQuery();
while (rs.next()) {
noOfDefaultersCount++;
}
lbl_noOfDefaulters.setText(Integer.toString(noOfDefaultersCount));
} catch (Exception e) {
e.printStackTrace();
}
}
// Visualization method
public void showPieChart() {
//create dataset
DefaultPieDataset barDataset = new DefaultPieDataset();
try {
pst = con.prepareStatement("select book_name, count(*) as issue_count from issue_book_details group by book_name");
rs = pst.executeQuery();
while (rs.next()) {
barDataset.setValue(rs.getString("book_name"), new Double(rs.getDouble("issue_count")));
}
} catch (Exception e) {
e.printStackTrace();
}
//create chart
JFreeChart piechart = ChartFactory.createPieChart("Issued Book details", barDataset, true, true, false);//explain
PiePlot piePlot = (PiePlot) piechart.getPlot();
piePlot.setBackgroundPaint(Color.white);
//create chartPanel to display chart(graph)
ChartPanel barChartPanel = new ChartPanel(piechart);
panelPieChart.removeAll();
panelPieChart.add(barChartPanel, BorderLayout.CENTER);
panelPieChart.validate();
}
/**
* 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() {
jPanel1 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jPanel2 = new javax.swing.JPanel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
jPanel3 = new javax.swing.JPanel();
jPanel4 = new javax.swing.JPanel();
jPanel5 = new javax.swing.JPanel();
jPanel6 = new javax.swing.JPanel();
jPanel7 = new javax.swing.JPanel();
jLabel14 = new javax.swing.JLabel();
jPanel8 = new javax.swing.JPanel();
jPanel9 = new javax.swing.JPanel();
jLabel10 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
jPanel14 = new javax.swing.JPanel();
jPanel15 = new javax.swing.JPanel();
jLabel13 = new javax.swing.JLabel();
jPanel16 = new javax.swing.JPanel();
jPanel17 = new javax.swing.JPanel();
jLabel15 = new javax.swing.JLabel();
jPanel20 = new javax.swing.JPanel();
jPanel21 = new javax.swing.JPanel();
jLabel17 = new javax.swing.JLabel();
jPanel22 = new javax.swing.JPanel();
jPanel23 = new javax.swing.JPanel();
jLabel18 = new javax.swing.JLabel();
jPanel24 = new javax.swing.JPanel();
jPanel25 = new javax.swing.JPanel();
jLabel19 = new javax.swing.JLabel();
jPanel26 = new javax.swing.JPanel();
jPanel27 = new javax.swing.JPanel();
jLabel20 = new javax.swing.JLabel();
jPanel28 = new javax.swing.JPanel();
jPanel29 = new javax.swing.JPanel();
jLabel21 = new javax.swing.JLabel();
jPanel38 = new javax.swing.JPanel();
jPanel39 = new javax.swing.JPanel();
jLabel34 = new javax.swing.JLabel();
jLabel35 = new javax.swing.JLabel();
jPanel40 = new javax.swing.JPanel();
jPanel41 = new javax.swing.JPanel();
jLabel36 = new javax.swing.JLabel();
jLabel37 = new javax.swing.JLabel();
jPanel12 = new javax.swing.JPanel();
jPanel13 = new javax.swing.JPanel();
jLabel12 = new javax.swing.JLabel();
jPanel10 = new javax.swing.JPanel();
jPanel11 = new javax.swing.JPanel();
jLabel11 = new javax.swing.JLabel();
jPanel30 = new javax.swing.JPanel();
jPanel31 = new javax.swing.JPanel();
lbl_noOfBooks = new javax.swing.JLabel();
jLabel22 = new javax.swing.JLabel();
jLabel23 = new javax.swing.JLabel();
jPanel32 = new javax.swing.JPanel();
lbl_noOfStudents = new javax.swing.JLabel();
jLabel25 = new javax.swing.JLabel();
jPanel33 = new javax.swing.JPanel();
jLabel26 = new javax.swing.JLabel();
jPanel35 = new javax.swing.JPanel();
lbl_noOfIssuedBooks = new javax.swing.JLabel();
jLabel29 = new javax.swing.JLabel();
jLabel31 = new javax.swing.JLabel();
jPanel36 = new javax.swing.JPanel();
lbl_noOfDefaulters = new javax.swing.JLabel();
jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new rojeru_san.complementos.RSTableMetro();
jLabel27 = new javax.swing.JLabel();
jScrollPane2 = new javax.swing.JScrollPane();
jTable2 = new rojeru_san.complementos.RSTableMetro();
jLabel28 = new javax.swing.JLabel();
panelPieChart = new javax.swing.JPanel();
jLabel5 = new javax.swing.JLabel();
jLabel8 = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setUndecorated(true);
setResizable(false);
getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel1.setBackground(new java.awt.Color(51, 153, 255));
jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_menu_48px_1.png"))); // NOI18N
jLabel1.setText("jLabel1");
jPanel1.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 10, 37, -1));
jPanel2.setBackground(new java.awt.Color(51, 51, 51));
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 5, Short.MAX_VALUE)
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 50, Short.MAX_VALUE)
);
jPanel1.add(jPanel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(60, 10, 5, 50));
jLabel2.setFont(new java.awt.Font("Segoe UI", 1, 20)); // NOI18N
jLabel2.setForeground(new java.awt.Color(255, 255, 255));
jLabel2.setText("usertype");
jPanel1.add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(1420, 20, -1, 30));
jLabel3.setFont(new java.awt.Font("Segoe UI", 1, 36)); // NOI18N
jLabel3.setForeground(new java.awt.Color(255, 255, 255));
jLabel3.setText("X");
jLabel3.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel3.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel3MouseClicked(evt);
}
});
jPanel1.add(jLabel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(1500, 0, -1, 30));
jLabel4.setFont(new java.awt.Font("Segoe UI", 1, 25)); // NOI18N
jLabel4.setForeground(new java.awt.Color(255, 255, 255));
jLabel4.setText("Library Management System");
jPanel1.add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 20, -1, -1));
jLabel7.setFont(new java.awt.Font("Segoe UI", 1, 20)); // NOI18N
jLabel7.setForeground(new java.awt.Color(255, 255, 255));
jLabel7.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/male_user_50px.png"))); // NOI18N
jLabel7.setText("Welcome,");
jPanel1.add(jLabel7, new org.netbeans.lib.awtextra.AbsoluteConstraints(1270, 0, -1, 70));
getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 1900, 70));
jPanel3.setBackground(new java.awt.Color(51, 51, 51));
jPanel3.setForeground(new java.awt.Color(153, 153, 153));
jPanel3.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel4.setBackground(new java.awt.Color(51, 51, 51));
jPanel4.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel5.setBackground(new java.awt.Color(255, 51, 51));
jPanel5.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel4.add(jPanel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));
jPanel6.setBackground(new java.awt.Color(255, 51, 51));
jPanel6.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel7.setBackground(new java.awt.Color(255, 51, 51));
jPanel7.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel6.add(jPanel7, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));
jPanel4.add(jPanel6, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));
jLabel14.setBackground(new java.awt.Color(255, 255, 255));
jLabel14.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
jLabel14.setForeground(new java.awt.Color(153, 153, 153));
jLabel14.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_Library_26px_1.png"))); // NOI18N
jLabel14.setText(" About Project");
jLabel14.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel14.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel14MouseClicked(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
jLabel14MouseEntered(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
jLabel14MouseExited(evt);
}
});
jPanel4.add(jLabel14, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 10, 190, -1));
jPanel3.add(jPanel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 590, 300, 47));
jPanel8.setBackground(new java.awt.Color(51, 51, 51));
jPanel8.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel9.setBackground(new java.awt.Color(255, 51, 51));
jPanel9.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel8.add(jPanel9, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));
jLabel10.setBackground(new java.awt.Color(255, 255, 255));
jLabel10.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
jLabel10.setForeground(new java.awt.Color(153, 153, 153));
jLabel10.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_Library_26px_1.png"))); // NOI18N
jLabel10.setText(" LMS Dashboard");
jLabel10.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jPanel8.add(jLabel10, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 10, 190, -1));
jPanel3.add(jPanel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 50, 300, 47));
jLabel6.setBackground(new java.awt.Color(255, 255, 255));
jLabel6.setFont(new java.awt.Font("Segoe UI", 1, 24)); // NOI18N
jLabel6.setForeground(new java.awt.Color(255, 255, 255));
jLabel6.setText("Features");
jPanel3.add(jLabel6, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 180, 190, -1));
jPanel14.setBackground(new java.awt.Color(51, 51, 51));
jPanel14.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jPanel14.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseEntered(java.awt.event.MouseEvent evt) {
jPanel14MouseEntered(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
jPanel14MouseExited(evt);
}
});
jPanel14.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel15.setBackground(new java.awt.Color(255, 51, 51));
jPanel15.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel14.add(jPanel15, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));
jLabel13.setBackground(new java.awt.Color(255, 255, 255));
jLabel13.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
jLabel13.setForeground(new java.awt.Color(153, 153, 153));
jLabel13.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_Books_26px.png"))); // NOI18N
jLabel13.setText(" Manage Books");
jLabel13.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel13.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel13MouseClicked(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
jLabel13MouseEntered(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
jLabel13MouseExited(evt);
}
public void mousePressed(java.awt.event.MouseEvent evt) {
jLabel13MousePressed(evt);
}
});
jPanel14.add(jLabel13, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 10, 190, -1));
jPanel3.add(jPanel14, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 220, 300, 47));
jPanel16.setBackground(new java.awt.Color(51, 51, 51));
jPanel16.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel17.setBackground(new java.awt.Color(255, 51, 51));
jPanel17.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel16.add(jPanel17, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));
jLabel15.setBackground(new java.awt.Color(255, 255, 255));
jLabel15.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
jLabel15.setForeground(new java.awt.Color(153, 153, 153));
jLabel15.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_Read_Online_26px.png"))); // NOI18N
jLabel15.setText(" Manage Students");
jLabel15.setAutoscrolls(true);
jLabel15.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel15.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel15MouseClicked(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
jLabel15MouseEntered(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
jLabel15MouseExited(evt);
}
});
jPanel16.add(jLabel15, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 10, 190, -1));
jPanel3.add(jPanel16, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 270, 300, 47));
jPanel20.setBackground(new java.awt.Color(51, 51, 51));
jPanel20.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel21.setBackground(new java.awt.Color(255, 51, 51));
jPanel21.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel20.add(jPanel21, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));
jLabel17.setBackground(new java.awt.Color(255, 255, 255));
jLabel17.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
jLabel17.setForeground(new java.awt.Color(153, 153, 153));
jLabel17.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_Sell_26px.png"))); // NOI18N
jLabel17.setText(" Issue Book");
jLabel17.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel17.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel17MouseClicked(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
jLabel17MouseEntered(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
jLabel17MouseExited(evt);
}
});
jPanel20.add(jLabel17, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 10, 190, -1));
jPanel3.add(jPanel20, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 330, 300, 47));
jPanel22.setBackground(new java.awt.Color(51, 51, 51));
jPanel22.setForeground(new java.awt.Color(153, 153, 153));
jPanel22.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel23.setBackground(new java.awt.Color(255, 51, 51));
jPanel23.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel22.add(jPanel23, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));
jLabel18.setBackground(new java.awt.Color(255, 255, 255));
jLabel18.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
jLabel18.setForeground(new java.awt.Color(153, 153, 153));
jLabel18.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_Return_Purchase_26px.png"))); // NOI18N
jLabel18.setText(" Return Book");
jLabel18.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel18.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel18MouseClicked(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
jLabel18MouseEntered(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
jLabel18MouseExited(evt);
}
});
jPanel22.add(jLabel18, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 10, 190, -1));
jPanel3.add(jPanel22, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 380, 300, 47));
jPanel24.setBackground(new java.awt.Color(51, 51, 51));
jPanel24.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel25.setBackground(new java.awt.Color(255, 51, 51));
jPanel25.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel24.add(jPanel25, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));
jLabel19.setBackground(new java.awt.Color(255, 255, 255));
jLabel19.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
jLabel19.setForeground(new java.awt.Color(153, 153, 153));
jLabel19.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_View_Details_26px.png"))); // NOI18N
jLabel19.setText(" View Records");
jLabel19.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel19.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel19MouseClicked(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
jLabel19MouseEntered(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
jLabel19MouseExited(evt);
}
});
jPanel24.add(jLabel19, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 10, 190, -1));
jPanel3.add(jPanel24, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 430, 300, 47));
jPanel26.setBackground(new java.awt.Color(51, 51, 51));
jPanel26.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel27.setBackground(new java.awt.Color(255, 51, 51));
jPanel27.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel26.add(jPanel27, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));
jLabel20.setBackground(new java.awt.Color(255, 255, 255));
jLabel20.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
jLabel20.setForeground(new java.awt.Color(153, 153, 153));
jLabel20.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_Books_26px.png"))); // NOI18N
jLabel20.setText(" View Issued Books");
jLabel20.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel20.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel20MouseClicked(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
jLabel20MouseEntered(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
jLabel20MouseExited(evt);
}
});
jPanel26.add(jLabel20, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 10, 230, -1));
jPanel3.add(jPanel26, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 490, 300, 47));
jPanel28.setBackground(new java.awt.Color(51, 51, 51));
jPanel28.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel29.setBackground(new java.awt.Color(255, 51, 51));
jPanel29.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel28.add(jPanel29, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));
jLabel21.setBackground(new java.awt.Color(255, 255, 255));
jLabel21.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
jLabel21.setForeground(new java.awt.Color(153, 153, 153));
jLabel21.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_Conference_26px.png"))); // NOI18N
jLabel21.setText(" View Defaulter List");
jLabel21.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel21.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel21MouseClicked(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
jLabel21MouseEntered(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
jLabel21MouseExited(evt);
}
});
jPanel28.add(jLabel21, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 10, 240, -1));
jPanel3.add(jPanel28, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 540, 300, 47));
jPanel38.setBackground(new java.awt.Color(255, 51, 51));
jPanel38.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel39.setBackground(new java.awt.Color(255, 51, 51));
jPanel39.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jLabel34.setBackground(new java.awt.Color(255, 255, 255));
jLabel34.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
jLabel34.setForeground(new java.awt.Color(255, 255, 255));
jLabel34.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_Home_26px_2.png"))); // NOI18N
jLabel34.setText(" Home Page");
jLabel34.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jPanel39.add(jLabel34, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 10, 150, -1));
jPanel38.add(jPanel39, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));
jLabel35.setBackground(new java.awt.Color(255, 255, 255));
jLabel35.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
jLabel35.setForeground(new java.awt.Color(255, 255, 255));
jLabel35.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_Home_26px_2.png"))); // NOI18N
jLabel35.setText(" Home Page");
jPanel38.add(jLabel35, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 10, 150, -1));
jPanel40.setBackground(new java.awt.Color(255, 51, 51));
jPanel40.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel41.setBackground(new java.awt.Color(255, 51, 51));
jPanel41.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jLabel36.setBackground(new java.awt.Color(255, 255, 255));
jLabel36.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
jLabel36.setForeground(new java.awt.Color(255, 255, 255));
jLabel36.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_Home_26px_2.png"))); // NOI18N
jLabel36.setText(" Home Page");
jPanel41.add(jLabel36, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 10, 150, -1));
jPanel40.add(jPanel41, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));
jLabel37.setBackground(new java.awt.Color(255, 255, 255));
jLabel37.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
jLabel37.setForeground(new java.awt.Color(255, 255, 255));
jLabel37.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_Home_26px_2.png"))); // NOI18N
jLabel37.setText(" Home Page");
jPanel40.add(jLabel37, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 10, 150, -1));
jPanel38.add(jPanel40, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));
jPanel3.add(jPanel38, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 300, 47));
jPanel12.setBackground(new java.awt.Color(51, 153, 255));
jPanel12.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel13.setBackground(new java.awt.Color(255, 51, 51));
jPanel13.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel12.add(jPanel13, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));
jLabel12.setBackground(new java.awt.Color(255, 255, 255));
jLabel12.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
jLabel12.setForeground(new java.awt.Color(255, 255, 255));
jLabel12.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_Exit_26px_2.png"))); // NOI18N
jLabel12.setText(" Logout");
jLabel12.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel12.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel12MouseClicked(evt);
}
});
jPanel12.add(jLabel12, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 10, 190, -1));
jPanel3.add(jPanel12, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 650, 300, 47));
jPanel10.setBackground(new java.awt.Color(51, 153, 255));
jPanel10.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel11.setBackground(new java.awt.Color(255, 51, 51));
jPanel11.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel10.add(jPanel11, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));
jLabel11.setBackground(new java.awt.Color(255, 255, 255));
jLabel11.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
jLabel11.setForeground(new java.awt.Color(255, 255, 255));
jLabel11.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/male_user_50px.png"))); // NOI18N
jLabel11.setText("Account Management");
jLabel11.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel11.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel11MouseClicked(evt);
}
});
jPanel10.add(jLabel11, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 0, 260, 60));
jPanel3.add(jPanel10, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 110, 300, 60));
getContentPane().add(jPanel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 70, 300, 960));
jPanel30.setBackground(new java.awt.Color(255, 255, 255));
jPanel30.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel31.setBackground(new java.awt.Color(255, 102, 0));
jPanel31.setBorder(javax.swing.BorderFactory.createMatteBorder(15, 0, 0, 0, new java.awt.Color(255, 102, 0)));
jPanel31.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
lbl_noOfBooks.setFont(new java.awt.Font("Calibri", 1, 50)); // NOI18N
lbl_noOfBooks.setForeground(new java.awt.Color(102, 102, 102));
lbl_noOfBooks.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_Book_Shelf_50px.png"))); // NOI18N
lbl_noOfBooks.setText("10");
jPanel31.add(lbl_noOfBooks, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 30, 120, 90));
jPanel30.add(jPanel31, new org.netbeans.lib.awtextra.AbsoluteConstraints(50, 60, 260, 140));
jLabel22.setFont(new java.awt.Font("Calibri", 1, 18)); // NOI18N
jLabel22.setForeground(new java.awt.Color(102, 102, 102));
jLabel22.setText("Student Details");
jPanel30.add(jLabel22, new org.netbeans.lib.awtextra.AbsoluteConstraints(50, 230, -1, -1));
jLabel23.setFont(new java.awt.Font("Calibri", 1, 18)); // NOI18N
jLabel23.setForeground(new java.awt.Color(102, 102, 102));
jLabel23.setText("No. Of Students");
jPanel30.add(jLabel23, new org.netbeans.lib.awtextra.AbsoluteConstraints(350, 30, -1, -1));
jPanel32.setBackground(new java.awt.Color(255, 255, 0));
jPanel32.setBorder(javax.swing.BorderFactory.createMatteBorder(15, 0, 0, 0, new java.awt.Color(255, 255, 0)));
jPanel32.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
lbl_noOfStudents.setFont(new java.awt.Font("Calibri", 1, 50)); // NOI18N
lbl_noOfStudents.setForeground(new java.awt.Color(102, 102, 102));
lbl_noOfStudents.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_People_50px.png"))); // NOI18N
lbl_noOfStudents.setText("10");
jPanel32.add(lbl_noOfStudents, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 30, 120, 90));
jPanel30.add(jPanel32, new org.netbeans.lib.awtextra.AbsoluteConstraints(350, 60, 260, 140));
jLabel25.setFont(new java.awt.Font("Calibri", 1, 18)); // NOI18N
jLabel25.setForeground(new java.awt.Color(102, 102, 102));
jLabel25.setText("No. Of Students");
jPanel30.add(jLabel25, new org.netbeans.lib.awtextra.AbsoluteConstraints(350, 30, -1, -1));
jPanel33.setBorder(javax.swing.BorderFactory.createMatteBorder(15, 0, 0, 0, new java.awt.Color(255, 51, 51)));
jPanel33.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jLabel26.setFont(new java.awt.Font("Calibri", 1, 50)); // NOI18N
jLabel26.setForeground(new java.awt.Color(102, 102, 102));
jLabel26.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_People_50px.png"))); // NOI18N
jLabel26.setText("10");
jPanel33.add(jLabel26, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 30, 120, 90));
jPanel30.add(jPanel33, new org.netbeans.lib.awtextra.AbsoluteConstraints(350, 60, 260, 140));
jPanel35.setBackground(new java.awt.Color(51, 204, 0));
jPanel35.setBorder(javax.swing.BorderFactory.createMatteBorder(15, 0, 0, 0, new java.awt.Color(51, 204, 0)));
jPanel35.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
lbl_noOfIssuedBooks.setFont(new java.awt.Font("Calibri", 1, 50)); // NOI18N
lbl_noOfIssuedBooks.setForeground(new java.awt.Color(102, 102, 102));
lbl_noOfIssuedBooks.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_Sell_50px.png"))); // NOI18N
lbl_noOfIssuedBooks.setText("10");
jPanel35.add(lbl_noOfIssuedBooks, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 30, 120, 90));
jPanel30.add(jPanel35, new org.netbeans.lib.awtextra.AbsoluteConstraints(640, 60, 260, 140));
jLabel29.setFont(new java.awt.Font("Calibri", 1, 18)); // NOI18N
jLabel29.setForeground(new java.awt.Color(102, 102, 102));
jLabel29.setText("Issued Books");
jPanel30.add(jLabel29, new org.netbeans.lib.awtextra.AbsoluteConstraints(640, 30, -1, -1));
jLabel31.setFont(new java.awt.Font("Calibri", 1, 18)); // NOI18N
jLabel31.setForeground(new java.awt.Color(102, 102, 102));
jLabel31.setText("Defaulter List");
jPanel30.add(jLabel31, new org.netbeans.lib.awtextra.AbsoluteConstraints(920, 30, -1, -1));
jPanel36.setBackground(new java.awt.Color(255, 51, 255));
jPanel36.setBorder(javax.swing.BorderFactory.createMatteBorder(15, 0, 0, 0, new java.awt.Color(255, 51, 255)));
jPanel36.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
lbl_noOfDefaulters.setFont(new java.awt.Font("Calibri", 1, 50)); // NOI18N
lbl_noOfDefaulters.setForeground(new java.awt.Color(102, 102, 102));
lbl_noOfDefaulters.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_List_of_Thumbnails_50px.png"))); // NOI18N
lbl_noOfDefaulters.setText("10");
jPanel36.add(lbl_noOfDefaulters, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 30, 120, 90));
jPanel30.add(jPanel36, new org.netbeans.lib.awtextra.AbsoluteConstraints(920, 60, 260, 140));
jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String [] {
"Student ID", "Student Name", "Course", "Branch"
}
));
jTable1.setColorBackgoundHead(new java.awt.Color(51, 153, 255));
jTable1.setColorFilasBackgound2(new java.awt.Color(255, 255, 255));
jTable1.setColorSelBackgound(new java.awt.Color(255, 51, 51));
jTable1.setFuenteFilas(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jTable1.setFuenteFilasSelect(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jTable1.setFuenteHead(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jTable1.setRowHeight(30);
jScrollPane1.setViewportView(jTable1);
jPanel30.add(jScrollPane1, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 260, 570, 170));
jLabel27.setFont(new java.awt.Font("Calibri", 1, 18)); // NOI18N
jLabel27.setForeground(new java.awt.Color(102, 102, 102));
jLabel27.setText("No. Of Books");
jPanel30.add(jLabel27, new org.netbeans.lib.awtextra.AbsoluteConstraints(50, 30, -1, -1));
jTable2.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String [] {
"Book ID", "Book Name", "Author", "Quantity"
}
));
jTable2.setColorBackgoundHead(new java.awt.Color(51, 153, 255));
jTable2.setColorFilasBackgound2(new java.awt.Color(255, 255, 255));
jTable2.setColorSelBackgound(new java.awt.Color(255, 51, 51));
jTable2.setFuenteFilas(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jTable2.setFuenteFilasSelect(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jTable2.setFuenteHead(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jTable2.setRowHeight(30);
jScrollPane2.setViewportView(jTable2);
jPanel30.add(jScrollPane2, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 490, 570, 170));
jLabel28.setFont(new java.awt.Font("Calibri", 1, 18)); // NOI18N
jLabel28.setForeground(new java.awt.Color(102, 102, 102));
jLabel28.setText("Book Details");
jPanel30.add(jLabel28, new org.netbeans.lib.awtextra.AbsoluteConstraints(50, 460, -1, -1));
panelPieChart.setLayout(new java.awt.BorderLayout());
jPanel30.add(panelPieChart, new org.netbeans.lib.awtextra.AbsoluteConstraints(650, 220, 540, 450));
jLabel5.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
jLabel5.setText("Naveenkumar J");
jLabel5.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel5.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel5MouseClicked(evt);
}
});
jPanel30.add(jLabel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(1120, 680, -1, -1));
jLabel8.setText("Developed by:");
jPanel30.add(jLabel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(1040, 680, -1, -1));
getContentPane().add(jPanel30, new org.netbeans.lib.awtextra.AbsoluteConstraints(300, 70, 1230, 700));
setSize(new java.awt.Dimension(1528, 770));
setLocationRelativeTo(null);
}// </editor-fold>//GEN-END:initComponents
private void jLabel3MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel3MouseClicked
// TODO add your handling code here:
System.exit(0);
}//GEN-LAST:event_jLabel3MouseClicked
private void jLabel13MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel13MouseClicked
// TODO add your handling code here:
ManageBooks mb = new ManageBooks(id, uname, usertype);
mb.setVisible(true);
this.dispose();
}//GEN-LAST:event_jLabel13MouseClicked
private void jLabel11MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel11MouseClicked
// TODO add your handling code here:
if (usertype.equals("Admin")) {
SignUpPage sp = new SignUpPage(id, uname, usertype);
sp.setVisible(true);
this.dispose();
} else {
JOptionPane.showMessageDialog(this, "Only Admin can manage the Accounts!");
}
}//GEN-LAST:event_jLabel11MouseClicked
private void jLabel14MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel14MouseClicked
// TODO add your handling code here:
AboutPage ap = new AboutPage(id, uname, usertype);
ap.setVisible(true);
this.dispose();
}//GEN-LAST:event_jLabel14MouseClicked
private void jLabel15MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel15MouseClicked
// TODO add your handling code here:
ManageStudents ms = new ManageStudents(id, uname, usertype);
ms.setVisible(true);
this.dispose();
}//GEN-LAST:event_jLabel15MouseClicked
private void jLabel12MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel12MouseClicked
// TODO add your handling code here:
LoginPage lp = new LoginPage();
lp.setVisible(true);
this.dispose();
}//GEN-LAST:event_jLabel12MouseClicked
private void jLabel13MouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel13MouseEntered
// TODO add your handling code here:
jPanel14.setBackground(mouseEnterColor);
}//GEN-LAST:event_jLabel13MouseEntered
private void jLabel13MouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel13MouseExited
// TODO add your handling code here:
jPanel14.setBackground(mouseExitColor);
}//GEN-LAST:event_jLabel13MouseExited
private void jPanel14MouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jPanel14MouseEntered
// TODO add your handling code here:
}//GEN-LAST:event_jPanel14MouseEntered
private void jPanel14MouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jPanel14MouseExited
// TODO add your handling code here:
}//GEN-LAST:event_jPanel14MouseExited
private void jLabel13MousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel13MousePressed
// TODO add your handling code here:
}//GEN-LAST:event_jLabel13MousePressed
private void jLabel15MouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel15MouseEntered
// TODO add your handling code here:
jPanel16.setBackground(mouseEnterColor);
}//GEN-LAST:event_jLabel15MouseEntered
private void jLabel15MouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel15MouseExited
// TODO add your handling code here:
jPanel16.setBackground(mouseExitColor);
}//GEN-LAST:event_jLabel15MouseExited
private void jLabel17MouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel17MouseEntered
// TODO add your handling code here:
jPanel20.setBackground(mouseEnterColor);
}//GEN-LAST:event_jLabel17MouseEntered
private void jLabel17MouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel17MouseExited
// TODO add your handling code here:
jPanel20.setBackground(mouseExitColor);
}//GEN-LAST:event_jLabel17MouseExited
private void jLabel18MouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel18MouseEntered
// TODO add your handling code here:
jPanel22.setBackground(mouseEnterColor);
}//GEN-LAST:event_jLabel18MouseEntered
private void jLabel18MouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel18MouseExited
// TODO add your handling code here:
jPanel22.setBackground(mouseExitColor);
}//GEN-LAST:event_jLabel18MouseExited
private void jLabel19MouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel19MouseEntered
// TODO add your handling code here:
jPanel24.setBackground(mouseEnterColor);
}//GEN-LAST:event_jLabel19MouseEntered
private void jLabel19MouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel19MouseExited
// TODO add your handling code here:
jPanel24.setBackground(mouseExitColor);
}//GEN-LAST:event_jLabel19MouseExited
private void jLabel20MouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel20MouseEntered
// TODO add your handling code here:
jPanel26.setBackground(mouseEnterColor);
}//GEN-LAST:event_jLabel20MouseEntered
private void jLabel20MouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel20MouseExited
// TODO add your handling code here:
jPanel26.setBackground(mouseExitColor);
}//GEN-LAST:event_jLabel20MouseExited
private void jLabel21MouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel21MouseEntered
// TODO add your handling code here:
jPanel28.setBackground(mouseEnterColor);
}//GEN-LAST:event_jLabel21MouseEntered
private void jLabel21MouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel21MouseExited
// TODO add your handling code here:
jPanel28.setBackground(mouseExitColor);
}//GEN-LAST:event_jLabel21MouseExited
private void jLabel14MouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel14MouseEntered
// TODO add your handling code here:
jPanel4.setBackground(mouseEnterColor);
}//GEN-LAST:event_jLabel14MouseEntered
private void jLabel14MouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel14MouseExited
// TODO add your handling code here:
jPanel4.setBackground(mouseExitColor);
}//GEN-LAST:event_jLabel14MouseExited
private void jLabel17MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel17MouseClicked
// TODO add your handling code here:
IssueBook ib = new IssueBook(id, uname, usertype);
ib.setVisible(true);
this.dispose();
}//GEN-LAST:event_jLabel17MouseClicked
private void jLabel18MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel18MouseClicked
// TODO add your handling code here:
ReturnBook rb = new ReturnBook(id, uname, usertype);
rb.setVisible(true);
this.dispose();
}//GEN-LAST:event_jLabel18MouseClicked
private void jLabel19MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel19MouseClicked
// TODO add your handling code here:
ViewAllRecord vr = new ViewAllRecord(id, uname, usertype);
vr.setVisible(true);
this.dispose();
}//GEN-LAST:event_jLabel19MouseClicked
private void jLabel20MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel20MouseClicked
// TODO add your handling code here:
IssueBookDetails ib = new IssueBookDetails(id, uname, usertype);
ib.setVisible(true);
this.dispose();
}//GEN-LAST:event_jLabel20MouseClicked
private void jLabel21MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel21MouseClicked
// TODO add your handling code here:
DefaultersList df = new DefaultersList(id, uname, usertype);
df.setVisible(true);
this.dispose();
}//GEN-LAST:event_jLabel21MouseClicked
// Developer details
private void jLabel5MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel5MouseClicked
// TODO add your handling code here:
try {
// TODO add your handling code here:
Desktop.getDesktop().browse(new URI("https://github.com/naveenkumar-j"));
} catch (IOException ex) {
Logger.getLogger(LoginPage.class.getName()).log(Level.SEVERE, null, ex);
} catch (URISyntaxException ex) {
Logger.getLogger(LoginPage.class.getName()).log(Level.SEVERE, null, ex);
}
}//GEN-LAST:event_jLabel5MouseClicked
/**
* @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(HomePage.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(HomePage.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(HomePage.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(HomePage.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 HomePage().setVisible(true);
}
});
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel12;
private javax.swing.JLabel jLabel13;
private javax.swing.JLabel jLabel14;
private javax.swing.JLabel jLabel15;
private javax.swing.JLabel jLabel17;
private javax.swing.JLabel jLabel18;
private javax.swing.JLabel jLabel19;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel20;
private javax.swing.JLabel jLabel21;
private javax.swing.JLabel jLabel22;
private javax.swing.JLabel jLabel23;
private javax.swing.JLabel jLabel25;
private javax.swing.JLabel jLabel26;
private javax.swing.JLabel jLabel27;
private javax.swing.JLabel jLabel28;
private javax.swing.JLabel jLabel29;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel31;
private javax.swing.JLabel jLabel34;
private javax.swing.JLabel jLabel35;
private javax.swing.JLabel jLabel36;
private javax.swing.JLabel jLabel37;
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.JPanel jPanel10;
private javax.swing.JPanel jPanel11;
private javax.swing.JPanel jPanel12;
private javax.swing.JPanel jPanel13;
private javax.swing.JPanel jPanel14;
private javax.swing.JPanel jPanel15;
private javax.swing.JPanel jPanel16;
private javax.swing.JPanel jPanel17;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel20;
private javax.swing.JPanel jPanel21;
private javax.swing.JPanel jPanel22;
private javax.swing.JPanel jPanel23;
private javax.swing.JPanel jPanel24;
private javax.swing.JPanel jPanel25;
private javax.swing.JPanel jPanel26;
private javax.swing.JPanel jPanel27;
private javax.swing.JPanel jPanel28;
private javax.swing.JPanel jPanel29;
private javax.swing.JPanel jPanel3;
private javax.swing.JPanel jPanel30;
private javax.swing.JPanel jPanel31;
private javax.swing.JPanel jPanel32;
private javax.swing.JPanel jPanel33;
private javax.swing.JPanel jPanel35;
private javax.swing.JPanel jPanel36;
private javax.swing.JPanel jPanel38;
private javax.swing.JPanel jPanel39;
private javax.swing.JPanel jPanel4;
private javax.swing.JPanel jPanel40;
private javax.swing.JPanel jPanel41;
private javax.swing.JPanel jPanel5;
private javax.swing.JPanel jPanel6;
private javax.swing.JPanel jPanel7;
private javax.swing.JPanel jPanel8;
private javax.swing.JPanel jPanel9;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private rojeru_san.complementos.RSTableMetro jTable1;
private rojeru_san.complementos.RSTableMetro jTable2;
private javax.swing.JLabel lbl_noOfBooks;
private javax.swing.JLabel lbl_noOfDefaulters;
private javax.swing.JLabel lbl_noOfIssuedBooks;
private javax.swing.JLabel lbl_noOfStudents;
private javax.swing.JPanel panelPieChart;
// End of variables declaration//GEN-END:variables
}
Code Explanation: You’ll implement a function to query and display the complete transaction history. This includes book IDs, student IDs, issue and return dates, and fine status. The data can be shown in a table or report format.
Output: An organized admin panel view showing all historical transactions, highlighted overdue entries, and filtered options by student, book, or date.
upGrad’s Exclusive Software and Tech Webinar for you –
SAAS Business – What is So Different?
Finally, tie it all together with a comprehensive admin dashboard.
Also Read: Java Tutorial: Learn Java Programming From Scratch For Beginners
Build a dashboard that overviews system stats, such as issued books, fines collected, and user activities.
Code snippet:
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java to edit this template
*/
package jframe;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Desktop;
import java.awt.Toolkit;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PiePlot;
import org.jfree.data.general.DefaultPieDataset;
/**
*
* @author Name
*/
public class HomePage extends javax.swing.JFrame {
/**
* Creates new form HomePage
*/
// Mouse Hover Effect
Color mouseEnterColor = new Color(0, 0, 0);
Color mouseExitColor = new Color(51, 51, 51);
// default constructor
public HomePage() {
initComponents();
Connect();
showPieChart();
Book_Load();
Student_Load();
setIconImage();
countStudentDetails();
countBookDetails();
countIssueBookDetails();
countDefaultersDetails();
}
// set Icon method
private void setIconImage() {
setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("logo.png")));
}
int id;
String uname;
String usertype;
// User defined constructor
public HomePage(int id, String username, String utype) {
initComponents();
Connect();
showPieChart();
Book_Load();
Student_Load();
setIconImage();
countStudentDetails();
countBookDetails();
countIssueBookDetails();
countDefaultersDetails();
this.uname = username;
this.usertype = utype;
jLabel2.setText(utype);
this.id = id;
}
Connection con;
PreparedStatement pst;
ResultSet rs;
DefaultTableModel d;
// Database connectivity method
public void Connect() {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost/library_management_system", "root", "");
} catch (SQLException ex) {
Logger.getLogger(ManageBooks.class.getName()).log(Level.SEVERE, null, ex);
} catch (ClassNotFoundException ex) {
Logger.getLogger(ManageBooks.class.getName()).log(Level.SEVERE, null, ex);
}
}
// Loading book details from the database table
public void Book_Load() {
int c;
try {
pst = con.prepareStatement("select * from book_details");
rs = pst.executeQuery();
ResultSetMetaData rsd = rs.getMetaData();
c = rsd.getColumnCount();
d = (DefaultTableModel) jTable2.getModel();
d.setRowCount(0);
while (rs.next()) {
Vector v2 = new Vector();
for (int i = 1; i <= c; i++) {
v2.add(rs.getString("book_id"));
v2.add(rs.getString("book_name"));
v2.add(rs.getString("author"));
v2.add(rs.getString("quantity"));
}
d.addRow(v2);
}
} catch (SQLException ex) {
Logger.getLogger(ManageBooks.class.getName()).log(Level.SEVERE, null, ex);
}
}
// Loading student details from the database table
public void Student_Load() {
int c;
try {
pst = con.prepareStatement("select * from student_details");
rs = pst.executeQuery();
ResultSetMetaData rsd = rs.getMetaData();
c = rsd.getColumnCount();
d = (DefaultTableModel) jTable1.getModel();
d.setRowCount(0);
while (rs.next()) {
Vector v2 = new Vector();
for (int i = 1; i <= c; i++) {
v2.add(rs.getString("student_id"));
v2.add(rs.getString("student_name"));
v2.add(rs.getString("course"));
v2.add(rs.getString("branch"));
}
d.addRow(v2);
}
} catch (SQLException ex) {
Logger.getLogger(HomePage.class.getName()).log(Level.SEVERE, null, ex);
}
}
// Counting No.of.Books from the database table
public void countBookDetails() {
int noOfBooksCount = 0;
try {
pst = con.prepareStatement("select * from book_details");
rs = pst.executeQuery();
while (rs.next()) {
noOfBooksCount++;
}
lbl_noOfBooks.setText(Integer.toString(noOfBooksCount));
} catch (Exception e) {
e.printStackTrace();
}
}
// Counting No.of.students rom the database table
public void countStudentDetails() {
int noOfStudentsCount = 0;
try {
pst = con.prepareStatement("select * from student_details");
rs = pst.executeQuery();
while (rs.next()) {
noOfStudentsCount++;
}
lbl_noOfStudents.setText(Integer.toString(noOfStudentsCount));
} catch (Exception e) {
e.printStackTrace();
}
}
// Counting No.of.Issued books from the database table
public void countIssueBookDetails() {
int noOfIssuedBooksCount = 0;
try {
pst = con.prepareStatement("select * from issue_book_details where status=?");
pst.setString(1, "pending");
rs = pst.executeQuery();
while (rs.next()) {
noOfIssuedBooksCount++;
}
lbl_noOfIssuedBooks.setText(Integer.toString(noOfIssuedBooksCount));
} catch (Exception e) {
e.printStackTrace();
}
}
// Counting No.of.Defaulters from the database table
public void countDefaultersDetails() {
long l = System.currentTimeMillis();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String todayDate = df.format(l);
int noOfDefaultersCount = 0;
try {
pst = con.prepareStatement("select * from issue_book_details where due_date<?");
pst.setString(1, todayDate);
rs = pst.executeQuery();
while (rs.next()) {
noOfDefaultersCount++;
}
lbl_noOfDefaulters.setText(Integer.toString(noOfDefaultersCount));
} catch (Exception e) {
e.printStackTrace();
}
}
// Visualization method
public void showPieChart() {
//create dataset
DefaultPieDataset barDataset = new DefaultPieDataset();
try {
pst = con.prepareStatement("select book_name, count(*) as issue_count from issue_book_details group by book_name");
rs = pst.executeQuery();
while (rs.next()) {
barDataset.setValue(rs.getString("book_name"), new Double(rs.getDouble("issue_count")));
}
} catch (Exception e) {
e.printStackTrace();
}
//create chart
JFreeChart piechart = ChartFactory.createPieChart("Issued Book details", barDataset, true, true, false);//explain
PiePlot piePlot = (PiePlot) piechart.getPlot();
piePlot.setBackgroundPaint(Color.white);
//create chartPanel to display chart(graph)
ChartPanel barChartPanel = new ChartPanel(piechart);
panelPieChart.removeAll();
panelPieChart.add(barChartPanel, BorderLayout.CENTER);
panelPieChart.validate();
}
/**
* 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() {
jPanel1 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jPanel2 = new javax.swing.JPanel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
jPanel3 = new javax.swing.JPanel();
jPanel4 = new javax.swing.JPanel();
jPanel5 = new javax.swing.JPanel();
jPanel6 = new javax.swing.JPanel();
jPanel7 = new javax.swing.JPanel();
jLabel14 = new javax.swing.JLabel();
jPanel8 = new javax.swing.JPanel();
jPanel9 = new javax.swing.JPanel();
jLabel10 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
jPanel14 = new javax.swing.JPanel();
jPanel15 = new javax.swing.JPanel();
jLabel13 = new javax.swing.JLabel();
jPanel16 = new javax.swing.JPanel();
jPanel17 = new javax.swing.JPanel();
jLabel15 = new javax.swing.JLabel();
jPanel20 = new javax.swing.JPanel();
jPanel21 = new javax.swing.JPanel();
jLabel17 = new javax.swing.JLabel();
jPanel22 = new javax.swing.JPanel();
jPanel23 = new javax.swing.JPanel();
jLabel18 = new javax.swing.JLabel();
jPanel24 = new javax.swing.JPanel();
jPanel25 = new javax.swing.JPanel();
jLabel19 = new javax.swing.JLabel();
jPanel26 = new javax.swing.JPanel();
jPanel27 = new javax.swing.JPanel();
jLabel20 = new javax.swing.JLabel();
jPanel28 = new javax.swing.JPanel();
jPanel29 = new javax.swing.JPanel();
jLabel21 = new javax.swing.JLabel();
jPanel38 = new javax.swing.JPanel();
jPanel39 = new javax.swing.JPanel();
jLabel34 = new javax.swing.JLabel();
jLabel35 = new javax.swing.JLabel();
jPanel40 = new javax.swing.JPanel();
jPanel41 = new javax.swing.JPanel();
jLabel36 = new javax.swing.JLabel();
jLabel37 = new javax.swing.JLabel();
jPanel12 = new javax.swing.JPanel();
jPanel13 = new javax.swing.JPanel();
jLabel12 = new javax.swing.JLabel();
jPanel10 = new javax.swing.JPanel();
jPanel11 = new javax.swing.JPanel();
jLabel11 = new javax.swing.JLabel();
jPanel30 = new javax.swing.JPanel();
jPanel31 = new javax.swing.JPanel();
lbl_noOfBooks = new javax.swing.JLabel();
jLabel22 = new javax.swing.JLabel();
jLabel23 = new javax.swing.JLabel();
jPanel32 = new javax.swing.JPanel();
lbl_noOfStudents = new javax.swing.JLabel();
jLabel25 = new javax.swing.JLabel();
jPanel33 = new javax.swing.JPanel();
jLabel26 = new javax.swing.JLabel();
jPanel35 = new javax.swing.JPanel();
lbl_noOfIssuedBooks = new javax.swing.JLabel();
jLabel29 = new javax.swing.JLabel();
jLabel31 = new javax.swing.JLabel();
jPanel36 = new javax.swing.JPanel();
lbl_noOfDefaulters = new javax.swing.JLabel();
jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new rojeru_san.complementos.RSTableMetro();
jLabel27 = new javax.swing.JLabel();
jScrollPane2 = new javax.swing.JScrollPane();
jTable2 = new rojeru_san.complementos.RSTableMetro();
jLabel28 = new javax.swing.JLabel();
panelPieChart = new javax.swing.JPanel();
jLabel5 = new javax.swing.JLabel();
jLabel8 = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setUndecorated(true);
setResizable(false);
getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel1.setBackground(new java.awt.Color(51, 153, 255));
jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_menu_48px_1.png"))); // NOI18N
jLabel1.setText("jLabel1");
jPanel1.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 10, 37, -1));
jPanel2.setBackground(new java.awt.Color(51, 51, 51));
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 5, Short.MAX_VALUE)
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 50, Short.MAX_VALUE)
);
jPanel1.add(jPanel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(60, 10, 5, 50));
jLabel2.setFont(new java.awt.Font("Segoe UI", 1, 20)); // NOI18N
jLabel2.setForeground(new java.awt.Color(255, 255, 255));
jLabel2.setText("usertype");
jPanel1.add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(1420, 20, -1, 30));
jLabel3.setFont(new java.awt.Font("Segoe UI", 1, 36)); // NOI18N
jLabel3.setForeground(new java.awt.Color(255, 255, 255));
jLabel3.setText("X");
jLabel3.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel3.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel3MouseClicked(evt);
}
});
jPanel1.add(jLabel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(1500, 0, -1, 30));
jLabel4.setFont(new java.awt.Font("Segoe UI", 1, 25)); // NOI18N
jLabel4.setForeground(new java.awt.Color(255, 255, 255));
jLabel4.setText("Library Management System");
jPanel1.add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 20, -1, -1));
jLabel7.setFont(new java.awt.Font("Segoe UI", 1, 20)); // NOI18N
jLabel7.setForeground(new java.awt.Color(255, 255, 255));
jLabel7.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/male_user_50px.png"))); // NOI18N
jLabel7.setText("Welcome,");
jPanel1.add(jLabel7, new org.netbeans.lib.awtextra.AbsoluteConstraints(1270, 0, -1, 70));
getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 1900, 70));
jPanel3.setBackground(new java.awt.Color(51, 51, 51));
jPanel3.setForeground(new java.awt.Color(153, 153, 153));
jPanel3.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel4.setBackground(new java.awt.Color(51, 51, 51));
jPanel4.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel5.setBackground(new java.awt.Color(255, 51, 51));
jPanel5.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel4.add(jPanel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));
jPanel6.setBackground(new java.awt.Color(255, 51, 51));
jPanel6.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel7.setBackground(new java.awt.Color(255, 51, 51));
jPanel7.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel6.add(jPanel7, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));
jPanel4.add(jPanel6, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));
jLabel14.setBackground(new java.awt.Color(255, 255, 255));
jLabel14.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
jLabel14.setForeground(new java.awt.Color(153, 153, 153));
jLabel14.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_Library_26px_1.png"))); // NOI18N
jLabel14.setText(" About Project");
jLabel14.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel14.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel14MouseClicked(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
jLabel14MouseEntered(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
jLabel14MouseExited(evt);
}
});
jPanel4.add(jLabel14, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 10, 190, -1));
jPanel3.add(jPanel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 590, 300, 47));
jPanel8.setBackground(new java.awt.Color(51, 51, 51));
jPanel8.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel9.setBackground(new java.awt.Color(255, 51, 51));
jPanel9.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel8.add(jPanel9, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));
jLabel10.setBackground(new java.awt.Color(255, 255, 255));
jLabel10.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
jLabel10.setForeground(new java.awt.Color(153, 153, 153));
jLabel10.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_Library_26px_1.png"))); // NOI18N
jLabel10.setText(" LMS Dashboard");
jLabel10.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jPanel8.add(jLabel10, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 10, 190, -1));
jPanel3.add(jPanel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 50, 300, 47));
jLabel6.setBackground(new java.awt.Color(255, 255, 255));
jLabel6.setFont(new java.awt.Font("Segoe UI", 1, 24)); // NOI18N
jLabel6.setForeground(new java.awt.Color(255, 255, 255));
jLabel6.setText("Features");
jPanel3.add(jLabel6, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 180, 190, -1));
jPanel14.setBackground(new java.awt.Color(51, 51, 51));
jPanel14.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jPanel14.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseEntered(java.awt.event.MouseEvent evt) {
jPanel14MouseEntered(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
jPanel14MouseExited(evt);
}
});
jPanel14.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel15.setBackground(new java.awt.Color(255, 51, 51));
jPanel15.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel14.add(jPanel15, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));
jLabel13.setBackground(new java.awt.Color(255, 255, 255));
jLabel13.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
jLabel13.setForeground(new java.awt.Color(153, 153, 153));
jLabel13.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_Books_26px.png"))); // NOI18N
jLabel13.setText(" Manage Books");
jLabel13.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel13.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel13MouseClicked(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
jLabel13MouseEntered(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
jLabel13MouseExited(evt);
}
public void mousePressed(java.awt.event.MouseEvent evt) {
jLabel13MousePressed(evt);
}
});
jPanel14.add(jLabel13, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 10, 190, -1));
jPanel3.add(jPanel14, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 220, 300, 47));
jPanel16.setBackground(new java.awt.Color(51, 51, 51));
jPanel16.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel17.setBackground(new java.awt.Color(255, 51, 51));
jPanel17.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel16.add(jPanel17, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));
jLabel15.setBackground(new java.awt.Color(255, 255, 255));
jLabel15.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
jLabel15.setForeground(new java.awt.Color(153, 153, 153));
jLabel15.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_Read_Online_26px.png"))); // NOI18N
jLabel15.setText(" Manage Students");
jLabel15.setAutoscrolls(true);
jLabel15.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel15.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel15MouseClicked(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
jLabel15MouseEntered(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
jLabel15MouseExited(evt);
}
});
jPanel16.add(jLabel15, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 10, 190, -1));
jPanel3.add(jPanel16, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 270, 300, 47));
jPanel20.setBackground(new java.awt.Color(51, 51, 51));
jPanel20.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel21.setBackground(new java.awt.Color(255, 51, 51));
jPanel21.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel20.add(jPanel21, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));
jLabel17.setBackground(new java.awt.Color(255, 255, 255));
jLabel17.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
jLabel17.setForeground(new java.awt.Color(153, 153, 153));
jLabel17.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_Sell_26px.png"))); // NOI18N
jLabel17.setText(" Issue Book");
jLabel17.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel17.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel17MouseClicked(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
jLabel17MouseEntered(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
jLabel17MouseExited(evt);
}
});
jPanel20.add(jLabel17, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 10, 190, -1));
jPanel3.add(jPanel20, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 330, 300, 47));
jPanel22.setBackground(new java.awt.Color(51, 51, 51));
jPanel22.setForeground(new java.awt.Color(153, 153, 153));
jPanel22.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel23.setBackground(new java.awt.Color(255, 51, 51));
jPanel23.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel22.add(jPanel23, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));
jLabel18.setBackground(new java.awt.Color(255, 255, 255));
jLabel18.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
jLabel18.setForeground(new java.awt.Color(153, 153, 153));
jLabel18.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_Return_Purchase_26px.png"))); // NOI18N
jLabel18.setText(" Return Book");
jLabel18.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel18.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel18MouseClicked(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
jLabel18MouseEntered(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
jLabel18MouseExited(evt);
}
});
jPanel22.add(jLabel18, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 10, 190, -1));
jPanel3.add(jPanel22, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 380, 300, 47));
jPanel24.setBackground(new java.awt.Color(51, 51, 51));
jPanel24.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel25.setBackground(new java.awt.Color(255, 51, 51));
jPanel25.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel24.add(jPanel25, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));
jLabel19.setBackground(new java.awt.Color(255, 255, 255));
jLabel19.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
jLabel19.setForeground(new java.awt.Color(153, 153, 153));
jLabel19.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_View_Details_26px.png"))); // NOI18N
jLabel19.setText(" View Records");
jLabel19.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel19.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel19MouseClicked(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
jLabel19MouseEntered(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
jLabel19MouseExited(evt);
}
});
jPanel24.add(jLabel19, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 10, 190, -1));
jPanel3.add(jPanel24, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 430, 300, 47));
jPanel26.setBackground(new java.awt.Color(51, 51, 51));
jPanel26.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel27.setBackground(new java.awt.Color(255, 51, 51));
jPanel27.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel26.add(jPanel27, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));
jLabel20.setBackground(new java.awt.Color(255, 255, 255));
jLabel20.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
jLabel20.setForeground(new java.awt.Color(153, 153, 153));
jLabel20.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_Books_26px.png"))); // NOI18N
jLabel20.setText(" View Issued Books");
jLabel20.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel20.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel20MouseClicked(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
jLabel20MouseEntered(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
jLabel20MouseExited(evt);
}
});
jPanel26.add(jLabel20, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 10, 230, -1));
jPanel3.add(jPanel26, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 490, 300, 47));
jPanel28.setBackground(new java.awt.Color(51, 51, 51));
jPanel28.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel29.setBackground(new java.awt.Color(255, 51, 51));
jPanel29.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel28.add(jPanel29, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));
jLabel21.setBackground(new java.awt.Color(255, 255, 255));
jLabel21.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
jLabel21.setForeground(new java.awt.Color(153, 153, 153));
jLabel21.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_Conference_26px.png"))); // NOI18N
jLabel21.setText(" View Defaulter List");
jLabel21.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel21.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel21MouseClicked(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
jLabel21MouseEntered(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
jLabel21MouseExited(evt);
}
});
jPanel28.add(jLabel21, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 10, 240, -1));
jPanel3.add(jPanel28, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 540, 300, 47));
jPanel38.setBackground(new java.awt.Color(255, 51, 51));
jPanel38.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel39.setBackground(new java.awt.Color(255, 51, 51));
jPanel39.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jLabel34.setBackground(new java.awt.Color(255, 255, 255));
jLabel34.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
jLabel34.setForeground(new java.awt.Color(255, 255, 255));
jLabel34.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_Home_26px_2.png"))); // NOI18N
jLabel34.setText(" Home Page");
jLabel34.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jPanel39.add(jLabel34, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 10, 150, -1));
jPanel38.add(jPanel39, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));
jLabel35.setBackground(new java.awt.Color(255, 255, 255));
jLabel35.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
jLabel35.setForeground(new java.awt.Color(255, 255, 255));
jLabel35.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_Home_26px_2.png"))); // NOI18N
jLabel35.setText(" Home Page");
jPanel38.add(jLabel35, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 10, 150, -1));
jPanel40.setBackground(new java.awt.Color(255, 51, 51));
jPanel40.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel41.setBackground(new java.awt.Color(255, 51, 51));
jPanel41.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jLabel36.setBackground(new java.awt.Color(255, 255, 255));
jLabel36.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
jLabel36.setForeground(new java.awt.Color(255, 255, 255));
jLabel36.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_Home_26px_2.png"))); // NOI18N
jLabel36.setText(" Home Page");
jPanel41.add(jLabel36, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 10, 150, -1));
jPanel40.add(jPanel41, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));
jLabel37.setBackground(new java.awt.Color(255, 255, 255));
jLabel37.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
jLabel37.setForeground(new java.awt.Color(255, 255, 255));
jLabel37.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_Home_26px_2.png"))); // NOI18N
jLabel37.setText(" Home Page");
jPanel40.add(jLabel37, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 10, 150, -1));
jPanel38.add(jPanel40, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));
jPanel3.add(jPanel38, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 300, 47));
jPanel12.setBackground(new java.awt.Color(51, 153, 255));
jPanel12.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel13.setBackground(new java.awt.Color(255, 51, 51));
jPanel13.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel12.add(jPanel13, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));
jLabel12.setBackground(new java.awt.Color(255, 255, 255));
jLabel12.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
jLabel12.setForeground(new java.awt.Color(255, 255, 255));
jLabel12.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_Exit_26px_2.png"))); // NOI18N
jLabel12.setText(" Logout");
jLabel12.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel12.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel12MouseClicked(evt);
}
});
jPanel12.add(jLabel12, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 10, 190, -1));
jPanel3.add(jPanel12, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 650, 300, 47));
jPanel10.setBackground(new java.awt.Color(51, 153, 255));
jPanel10.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel11.setBackground(new java.awt.Color(255, 51, 51));
jPanel11.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel10.add(jPanel11, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));
jLabel11.setBackground(new java.awt.Color(255, 255, 255));
jLabel11.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
jLabel11.setForeground(new java.awt.Color(255, 255, 255));
jLabel11.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/male_user_50px.png"))); // NOI18N
jLabel11.setText("Account Management");
jLabel11.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel11.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel11MouseClicked(evt);
}
});
jPanel10.add(jLabel11, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 0, 260, 60));
jPanel3.add(jPanel10, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 110, 300, 60));
getContentPane().add(jPanel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 70, 300, 960));
jPanel30.setBackground(new java.awt.Color(255, 255, 255));
jPanel30.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jPanel31.setBackground(new java.awt.Color(255, 102, 0));
jPanel31.setBorder(javax.swing.BorderFactory.createMatteBorder(15, 0, 0, 0, new java.awt.Color(255, 102, 0)));
jPanel31.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
lbl_noOfBooks.setFont(new java.awt.Font("Calibri", 1, 50)); // NOI18N
lbl_noOfBooks.setForeground(new java.awt.Color(102, 102, 102));
lbl_noOfBooks.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_Book_Shelf_50px.png"))); // NOI18N
lbl_noOfBooks.setText("10");
jPanel31.add(lbl_noOfBooks, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 30, 120, 90));
jPanel30.add(jPanel31, new org.netbeans.lib.awtextra.AbsoluteConstraints(50, 60, 260, 140));
jLabel22.setFont(new java.awt.Font("Calibri", 1, 18)); // NOI18N
jLabel22.setForeground(new java.awt.Color(102, 102, 102));
jLabel22.setText("Student Details");
jPanel30.add(jLabel22, new org.netbeans.lib.awtextra.AbsoluteConstraints(50, 230, -1, -1));
jLabel23.setFont(new java.awt.Font("Calibri", 1, 18)); // NOI18N
jLabel23.setForeground(new java.awt.Color(102, 102, 102));
jLabel23.setText("No. Of Students");
jPanel30.add(jLabel23, new org.netbeans.lib.awtextra.AbsoluteConstraints(350, 30, -1, -1));
jPanel32.setBackground(new java.awt.Color(255, 255, 0));
jPanel32.setBorder(javax.swing.BorderFactory.createMatteBorder(15, 0, 0, 0, new java.awt.Color(255, 255, 0)));
jPanel32.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
lbl_noOfStudents.setFont(new java.awt.Font("Calibri", 1, 50)); // NOI18N
lbl_noOfStudents.setForeground(new java.awt.Color(102, 102, 102));
lbl_noOfStudents.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_People_50px.png"))); // NOI18N
lbl_noOfStudents.setText("10");
jPanel32.add(lbl_noOfStudents, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 30, 120, 90));
jPanel30.add(jPanel32, new org.netbeans.lib.awtextra.AbsoluteConstraints(350, 60, 260, 140));
jLabel25.setFont(new java.awt.Font("Calibri", 1, 18)); // NOI18N
jLabel25.setForeground(new java.awt.Color(102, 102, 102));
jLabel25.setText("No. Of Students");
jPanel30.add(jLabel25, new org.netbeans.lib.awtextra.AbsoluteConstraints(350, 30, -1, -1));
jPanel33.setBorder(javax.swing.BorderFactory.createMatteBorder(15, 0, 0, 0, new java.awt.Color(255, 51, 51)));
jPanel33.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
jLabel26.setFont(new java.awt.Font("Calibri", 1, 50)); // NOI18N
jLabel26.setForeground(new java.awt.Color(102, 102, 102));
jLabel26.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_People_50px.png"))); // NOI18N
jLabel26.setText("10");
jPanel33.add(jLabel26, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 30, 120, 90));
jPanel30.add(jPanel33, new org.netbeans.lib.awtextra.AbsoluteConstraints(350, 60, 260, 140));
jPanel35.setBackground(new java.awt.Color(51, 204, 0));
jPanel35.setBorder(javax.swing.BorderFactory.createMatteBorder(15, 0, 0, 0, new java.awt.Color(51, 204, 0)));
jPanel35.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
lbl_noOfIssuedBooks.setFont(new java.awt.Font("Calibri", 1, 50)); // NOI18N
lbl_noOfIssuedBooks.setForeground(new java.awt.Color(102, 102, 102));
lbl_noOfIssuedBooks.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_Sell_50px.png"))); // NOI18N
lbl_noOfIssuedBooks.setText("10");
jPanel35.add(lbl_noOfIssuedBooks, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 30, 120, 90));
jPanel30.add(jPanel35, new org.netbeans.lib.awtextra.AbsoluteConstraints(640, 60, 260, 140));
jLabel29.setFont(new java.awt.Font("Calibri", 1, 18)); // NOI18N
jLabel29.setForeground(new java.awt.Color(102, 102, 102));
jLabel29.setText("Issued Books");
jPanel30.add(jLabel29, new org.netbeans.lib.awtextra.AbsoluteConstraints(640, 30, -1, -1));
jLabel31.setFont(new java.awt.Font("Calibri", 1, 18)); // NOI18N
jLabel31.setForeground(new java.awt.Color(102, 102, 102));
jLabel31.setText("Defaulter List");
jPanel30.add(jLabel31, new org.netbeans.lib.awtextra.AbsoluteConstraints(920, 30, -1, -1));
jPanel36.setBackground(new java.awt.Color(255, 51, 255));
jPanel36.setBorder(javax.swing.BorderFactory.createMatteBorder(15, 0, 0, 0, new java.awt.Color(255, 51, 255)));
jPanel36.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
lbl_noOfDefaulters.setFont(new java.awt.Font("Calibri", 1, 50)); // NOI18N
lbl_noOfDefaulters.setForeground(new java.awt.Color(102, 102, 102));
lbl_noOfDefaulters.setIcon(new javax.swing.ImageIcon(getClass().getResource("/adminIcons/icons8_List_of_Thumbnails_50px.png"))); // NOI18N
lbl_noOfDefaulters.setText("10");
jPanel36.add(lbl_noOfDefaulters, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 30, 120, 90));
jPanel30.add(jPanel36, new org.netbeans.lib.awtextra.AbsoluteConstraints(920, 60, 260, 140));
jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String [] {
"Student ID", "Student Name", "Course", "Branch"
}
));
jTable1.setColorBackgoundHead(new java.awt.Color(51, 153, 255));
jTable1.setColorFilasBackgound2(new java.awt.Color(255, 255, 255));
jTable1.setColorSelBackgound(new java.awt.Color(255, 51, 51));
jTable1.setFuenteFilas(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jTable1.setFuenteFilasSelect(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jTable1.setFuenteHead(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jTable1.setRowHeight(30);
jScrollPane1.setViewportView(jTable1);
jPanel30.add(jScrollPane1, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 260, 570, 170));
jLabel27.setFont(new java.awt.Font("Calibri", 1, 18)); // NOI18N
jLabel27.setForeground(new java.awt.Color(102, 102, 102));
jLabel27.setText("No. Of Books");
jPanel30.add(jLabel27, new org.netbeans.lib.awtextra.AbsoluteConstraints(50, 30, -1, -1));
jTable2.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String [] {
"Book ID", "Book Name", "Author", "Quantity"
}
));
jTable2.setColorBackgoundHead(new java.awt.Color(51, 153, 255));
jTable2.setColorFilasBackgound2(new java.awt.Color(255, 255, 255));
jTable2.setColorSelBackgound(new java.awt.Color(255, 51, 51));
jTable2.setFuenteFilas(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jTable2.setFuenteFilasSelect(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jTable2.setFuenteHead(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
jTable2.setRowHeight(30);
jScrollPane2.setViewportView(jTable2);
jPanel30.add(jScrollPane2, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 490, 570, 170));
jLabel28.setFont(new java.awt.Font("Calibri", 1, 18)); // NOI18N
jLabel28.setForeground(new java.awt.Color(102, 102, 102));
jLabel28.setText("Book Details");
jPanel30.add(jLabel28, new org.netbeans.lib.awtextra.AbsoluteConstraints(50, 460, -1, -1));
panelPieChart.setLayout(new java.awt.BorderLayout());
jPanel30.add(panelPieChart, new org.netbeans.lib.awtextra.AbsoluteConstraints(650, 220, 540, 450));
jLabel5.setFont(new java.awt.Font("Segoe UI", 1, 12)); // NOI18N
jLabel5.setText("Naveenkumar J");
jLabel5.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
jLabel5.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jLabel5MouseClicked(evt);
}
});
jPanel30.add(jLabel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(1120, 680, -1, -1));
jLabel8.setText("Developed by:");
jPanel30.add(jLabel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(1040, 680, -1, -1));
getContentPane().add(jPanel30, new org.netbeans.lib.awtextra.AbsoluteConstraints(300, 70, 1230, 700));
setSize(new java.awt.Dimension(1528, 770));
setLocationRelativeTo(null);
}// </editor-fold>//GEN-END:initComponents
private void jLabel3MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel3MouseClicked
// TODO add your handling code here:
System.exit(0);
}//GEN-LAST:event_jLabel3MouseClicked
private void jLabel13MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel13MouseClicked
// TODO add your handling code here:
ManageBooks mb = new ManageBooks(id, uname, usertype);
mb.setVisible(true);
this.dispose();
}//GEN-LAST:event_jLabel13MouseClicked
private void jLabel11MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel11MouseClicked
// TODO add your handling code here:
if (usertype.equals("Admin")) {
SignUpPage sp = new SignUpPage(id, uname, usertype);
sp.setVisible(true);
this.dispose();
} else {
JOptionPane.showMessageDialog(this, "Only Admin can manage the Accounts!");
}
}//GEN-LAST:event_jLabel11MouseClicked
private void jLabel14MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel14MouseClicked
// TODO add your handling code here:
AboutPage ap = new AboutPage(id, uname, usertype);
ap.setVisible(true);
this.dispose();
}//GEN-LAST:event_jLabel14MouseClicked
private void jLabel15MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel15MouseClicked
// TODO add your handling code here:
ManageStudents ms = new ManageStudents(id, uname, usertype);
ms.setVisible(true);
this.dispose();
}//GEN-LAST:event_jLabel15MouseClicked
private void jLabel12MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel12MouseClicked
// TODO add your handling code here:
LoginPage lp = new LoginPage();
lp.setVisible(true);
this.dispose();
}//GEN-LAST:event_jLabel12MouseClicked
private void jLabel13MouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel13MouseEntered
// TODO add your handling code here:
jPanel14.setBackground(mouseEnterColor);
}//GEN-LAST:event_jLabel13MouseEntered
private void jLabel13MouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel13MouseExited
// TODO add your handling code here:
jPanel14.setBackground(mouseExitColor);
}//GEN-LAST:event_jLabel13MouseExited
private void jPanel14MouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jPanel14MouseEntered
// TODO add your handling code here:
}//GEN-LAST:event_jPanel14MouseEntered
private void jPanel14MouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jPanel14MouseExited
// TODO add your handling code here:
}//GEN-LAST:event_jPanel14MouseExited
private void jLabel13MousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel13MousePressed
// TODO add your handling code here:
}//GEN-LAST:event_jLabel13MousePressed
private void jLabel15MouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel15MouseEntered
// TODO add your handling code here:
jPanel16.setBackground(mouseEnterColor);
}//GEN-LAST:event_jLabel15MouseEntered
private void jLabel15MouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel15MouseExited
// TODO add your handling code here:
jPanel16.setBackground(mouseExitColor);
}//GEN-LAST:event_jLabel15MouseExited
private void jLabel17MouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel17MouseEntered
// TODO add your handling code here:
jPanel20.setBackground(mouseEnterColor);
}//GEN-LAST:event_jLabel17MouseEntered
private void jLabel17MouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel17MouseExited
// TODO add your handling code here:
jPanel20.setBackground(mouseExitColor);
}//GEN-LAST:event_jLabel17MouseExited
private void jLabel18MouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel18MouseEntered
// TODO add your handling code here:
jPanel22.setBackground(mouseEnterColor);
}//GEN-LAST:event_jLabel18MouseEntered
private void jLabel18MouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel18MouseExited
// TODO add your handling code here:
jPanel22.setBackground(mouseExitColor);
}//GEN-LAST:event_jLabel18MouseExited
private void jLabel19MouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel19MouseEntered
// TODO add your handling code here:
jPanel24.setBackground(mouseEnterColor);
}//GEN-LAST:event_jLabel19MouseEntered
private void jLabel19MouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel19MouseExited
// TODO add your handling code here:
jPanel24.setBackground(mouseExitColor);
}//GEN-LAST:event_jLabel19MouseExited
private void jLabel20MouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel20MouseEntered
// TODO add your handling code here:
jPanel26.setBackground(mouseEnterColor);
}//GEN-LAST:event_jLabel20MouseEntered
private void jLabel20MouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel20MouseExited
// TODO add your handling code here:
jPanel26.setBackground(mouseExitColor);
}//GEN-LAST:event_jLabel20MouseExited
private void jLabel21MouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel21MouseEntered
// TODO add your handling code here:
jPanel28.setBackground(mouseEnterColor);
}//GEN-LAST:event_jLabel21MouseEntered
private void jLabel21MouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel21MouseExited
// TODO add your handling code here:
jPanel28.setBackground(mouseExitColor);
}//GEN-LAST:event_jLabel21MouseExited
private void jLabel14MouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel14MouseEntered
// TODO add your handling code here:
jPanel4.setBackground(mouseEnterColor);
}//GEN-LAST:event_jLabel14MouseEntered
private void jLabel14MouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel14MouseExited
// TODO add your handling code here:
jPanel4.setBackground(mouseExitColor);
}//GEN-LAST:event_jLabel14MouseExited
private void jLabel17MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel17MouseClicked
// TODO add your handling code here:
IssueBook ib = new IssueBook(id, uname, usertype);
ib.setVisible(true);
this.dispose();
}//GEN-LAST:event_jLabel17MouseClicked
private void jLabel18MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel18MouseClicked
// TODO add your handling code here:
ReturnBook rb = new ReturnBook(id, uname, usertype);
rb.setVisible(true);
this.dispose();
}//GEN-LAST:event_jLabel18MouseClicked
private void jLabel19MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel19MouseClicked
// TODO add your handling code here:
ViewAllRecord vr = new ViewAllRecord(id, uname, usertype);
vr.setVisible(true);
this.dispose();
}//GEN-LAST:event_jLabel19MouseClicked
private void jLabel20MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel20MouseClicked
// TODO add your handling code here:
IssueBookDetails ib = new IssueBookDetails(id, uname, usertype);
ib.setVisible(true);
this.dispose();
}//GEN-LAST:event_jLabel20MouseClicked
private void jLabel21MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel21MouseClicked
// TODO add your handling code here:
DefaultersList df = new DefaultersList(id, uname, usertype);
df.setVisible(true);
this.dispose();
}//GEN-LAST:event_jLabel21MouseClicked
// Developer details
private void jLabel5MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabel5MouseClicked
// TODO add your handling code here:
try {
// TODO add your handling code here:
Desktop.getDesktop().browse(new URI("https://github.com/naveenkumar-j"));
} catch (IOException ex) {
Logger.getLogger(LoginPage.class.getName()).log(Level.SEVERE, null, ex);
} catch (URISyntaxException ex) {
Logger.getLogger(LoginPage.class.getName()).log(Level.SEVERE, null, ex);
}
}//GEN-LAST:event_jLabel5MouseClicked
/**
* @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(HomePage.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(HomePage.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(HomePage.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(HomePage.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 HomePage().setVisible(true);
}
});
}
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel12;
private javax.swing.JLabel jLabel13;
private javax.swing.JLabel jLabel14;
private javax.swing.JLabel jLabel15;
private javax.swing.JLabel jLabel17;
private javax.swing.JLabel jLabel18;
private javax.swing.JLabel jLabel19;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel20;
private javax.swing.JLabel jLabel21;
private javax.swing.JLabel jLabel22;
private javax.swing.JLabel jLabel23;
private javax.swing.JLabel jLabel25;
private javax.swing.JLabel jLabel26;
private javax.swing.JLabel jLabel27;
private javax.swing.JLabel jLabel28;
private javax.swing.JLabel jLabel29;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel31;
private javax.swing.JLabel jLabel34;
private javax.swing.JLabel jLabel35;
private javax.swing.JLabel jLabel36;
private javax.swing.JLabel jLabel37;
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.JPanel jPanel10;
private javax.swing.JPanel jPanel11;
private javax.swing.JPanel jPanel12;
private javax.swing.JPanel jPanel13;
private javax.swing.JPanel jPanel14;
private javax.swing.JPanel jPanel15;
private javax.swing.JPanel jPanel16;
private javax.swing.JPanel jPanel17;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel20;
private javax.swing.JPanel jPanel21;
private javax.swing.JPanel jPanel22;
private javax.swing.JPanel jPanel23;
private javax.swing.JPanel jPanel24;
private javax.swing.JPanel jPanel25;
private javax.swing.JPanel jPanel26;
private javax.swing.JPanel jPanel27;
private javax.swing.JPanel jPanel28;
private javax.swing.JPanel jPanel29;
private javax.swing.JPanel jPanel3;
private javax.swing.JPanel jPanel30;
private javax.swing.JPanel jPanel31;
private javax.swing.JPanel jPanel32;
private javax.swing.JPanel jPanel33;
private javax.swing.JPanel jPanel35;
private javax.swing.JPanel jPanel36;
private javax.swing.JPanel jPanel38;
private javax.swing.JPanel jPanel39;
private javax.swing.JPanel jPanel4;
private javax.swing.JPanel jPanel40;
private javax.swing.JPanel jPanel41;
private javax.swing.JPanel jPanel5;
private javax.swing.JPanel jPanel6;
private javax.swing.JPanel jPanel7;
private javax.swing.JPanel jPanel8;
private javax.swing.JPanel jPanel9;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private rojeru_san.complementos.RSTableMetro jTable1;
private rojeru_san.complementos.RSTableMetro jTable2;
private javax.swing.JLabel lbl_noOfBooks;
private javax.swing.JLabel lbl_noOfDefaulters;
private javax.swing.JLabel lbl_noOfIssuedBooks;
private javax.swing.JLabel lbl_noOfStudents;
private javax.swing.JPanel panelPieChart;
// End of variables declaration//GEN-END:variables
}
Code Explanation: You’ll explore data aggregation and visualization techniques in Java.
Output: Dashboard view with charts, tables, and key metrics for quick insights.
Also Read: Top 15 Types of Data Visualization: Benefits and How to Choose the Right Tool for Your Needs in 2025
You implemented a library management system in Java. It's time to understand your potential challenges while building your Library Management System Project in Java.
Building a Library Management System Project in Java gives you hands-on experience and introduces some real-world development challenges. Awareness of these upfront will help you plan better, write cleaner code, and build a more robust system.
Challenge |
Description |
What You Should Do |
Simultaneous Transactions | - Multiple users issuing or updating books at the same time - Risk of data conflicts or overwrites |
- Use database transactions with commit/rollback - Implement proper locking mechanisms (pessimistic or optimistic locking) - Consider user session tracking to avoid race conditions |
Database Scalability | - Database becomes slow with more books, users, and records - Difficult to introduce new features if the schema is rigid |
- Normalize your tables (preferably up to 3NF) - Use indexes on frequently searched fields like Book ID or Title - Design a modular schema that allows future expansion |
Error Handling & Validation | - Invalid or missing input from users - App crashes due to unhandled exceptions |
- Add input validation in forms (e.g., empty fields, data types) - Use try-catch blocks to manage runtime exceptions - Display user-friendly error messages and prompts |
Also Read: Comprehensive Guide to Exception Handling in Java: Best Practices and Examples
As you complete the core features of your Library Management System Project in Java, consider expanding its capabilities to make it more robust, user-friendly, and adaptable to real-world needs.
Future improvements can elevate your basic project into a full-fledged library solution in academic or professional settings. These enhancements improve usability, automation, and accessibility while helping you implement more advanced Java concepts such as APIs, barcode processing, and external integrations.
Possible Enhancements:
The Library Management System Project in Java combines practical application design, core Java principles, and real-world database integration. By implementing modules like login, account management, book handling, and transaction tracking, you gain hands-on experience building scalable, modular applications that reflect real industry needs.
If you're looking to deepen your Java expertise and take on larger development challenges, upGrad’s Software Development courses provide personalized mentorship, live projects, and a structured learning path to help you level up.
Here are some additional courses to guide you in your next steps in Java development.
If you're ready to take the next step in your career, connect with upGrad’s career counseling for personalized guidance. You can also visit a nearby upGrad center for hands-on training to enhance your generative AI skills and open new career opportunities!
Unlock your potential with our sought-after Software Engineering courses, designed to propel your career forward!
Start your journey with our free Software Development courses and build the foundation for a successful tech career!
Gain expertise in in-demand Software Development skills and stay ahead in the ever-evolving tech industry!
Discover insightful articles on Software and stay updated with the latest developments and trends in the field!
References:
https://www.tech-channels.com/techchannels-blog-news/java-turns-30-with-enhanced-data-handling-capabilities
Source Code:
408 articles published
Software Engineering Manager @ upGrad. Passionate about building large scale web apps with delightful experiences. In pursuit of transforming engineers into leaders.
Get Free Consultation
By submitting, I accept the T&C and
Privacy Policy
India’s #1 Tech University
Executive PG Certification in AI-Powered Full Stack Development
77%
seats filled
Top Resources