You are on page 1of 43

Appendix

The main structure of my program:

Main Class
package super_new_ia;

public class SUPER_NEW_IA {

public static void main(String[] args) {


java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new home().setVisible(true);
}
});
}
}

1. Home
package super_new_ia;
import javax.swing.JOptionPane;

public class home extends javax.swing.JFrame {

public home() {
initComponents();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

jPanel1 = new javax.swing.JPanel();


jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jButton4 = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(110,
40, -1, -1));

jButton1.setFont(new java.awt.Font("Futura", 3, 18)); // NOI18N


jButton1.setText("Register");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
getContentPane().add(jButton1, new org.netbeans.lib.awtextra.AbsoluteConstraints(690,
570, 160, 50));

jButton2.setFont(new java.awt.Font("Futura", 3, 18)); // NOI18N


jButton2.setText("Login");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});
getContentPane().add(jButton2, new org.netbeans.lib.awtextra.AbsoluteConstraints(500,
570, 160, 50));

jButton4.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/images/EXIT.png"))); // NOI18N
jButton4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton4ActionPerformed(evt);
}
});
getContentPane().add(jButton4, new
org.netbeans.lib.awtextra.AbsoluteConstraints(1180, 40, -1, -1));
jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/home
layout new.png"))); // NOI18N
jLabel1.setBounds(new java.awt.Rectangle(0, 0, 0, 0));
jLabel1.setMaximumSize(new java.awt.Dimension(1366, 768));
jLabel1.setMinimumSize(new java.awt.Dimension(1366, 768));
getContentPane().add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0,
1370, 770));

pack();
setLocationRelativeTo(null);
}// </editor-fold>

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


this.dispose();
register reg=new register();
reg.setVisible(true);
}

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


this.dispose();
login log=new login();
log.setVisible(true);
}

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


int a=JOptionPane.showConfirmDialog(null, "Do you really want to close
Application?","Select", JOptionPane.YES_NO_OPTION);
if(a==0)
System.exit(0);
}

public static void main(String args[]) {


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(home.class.getName()).log(java.util.logging.Level.SEVE
RE, null, ex);
} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(home.class.getName()).log(java.util.logging.Level.SEVE
RE, null, ex);
} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(home.class.getName()).log(java.util.logging.Level.SEVE
RE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(home.class.getName()).log(java.util.logging.Level.SEVE
RE, null, ex);
}

java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new home().setVisible(true);
}
});
}

// Variables declaration - do not modify


private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton4;
private javax.swing.JLabel jLabel1;
private javax.swing.JPanel jPanel1;
// End of variables declaration
}

2. Register
/*
* 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 super_new_ia;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import static javax.swing.JOptionPane.showMessageDialog;
import java.sql.*;
import javax.swing.*;
public class register extends javax.swing.JFrame {
public register() {
initComponents();
}

@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

jPanel1 = new javax.swing.JPanel();


user = new javax.swing.JTextField();
email = new javax.swing.JTextField();
address = new javax.swing.JTextField();
password = new javax.swing.JPasswordField();
sq = new javax.swing.JComboBox<>();
ans = new javax.swing.JTextField();
jButton2 = new javax.swing.JButton();
jButton1 = new javax.swing.JButton();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
jLabel8 = new javax.swing.JLabel();
jLabel9 = new javax.swing.JLabel();
jButton4 = new javax.swing.JButton();
jLabel2 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setMinimumSize(new java.awt.Dimension(1366, 768));
getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

jPanel1.setMaximumSize(new java.awt.Dimension(1366, 768));


jPanel1.setMinimumSize(new java.awt.Dimension(1366, 768));
jPanel1.setPreferredSize(new java.awt.Dimension(1366, 768));
jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

user.setFont(new java.awt.Font("Futura", 0, 12)); // NOI18N


user.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
userActionPerformed(evt);
}
});
jPanel1.add(user, new org.netbeans.lib.awtextra.AbsoluteConstraints(1000, 230, 260,
30));

email.setFont(new java.awt.Font("Futura", 0, 12)); // NOI18N


jPanel1.add(email, new org.netbeans.lib.awtextra.AbsoluteConstraints(1000, 280, 260,
30));

address.setFont(new java.awt.Font("Futura", 0, 12)); // NOI18N


jPanel1.add(address, new org.netbeans.lib.awtextra.AbsoluteConstraints(1000, 480, 260,
30));

password.setFont(new java.awt.Font("Futura", 0, 12)); // NOI18N


jPanel1.add(password, new org.netbeans.lib.awtextra.AbsoluteConstraints(1000, 330,
260, 30));

sq.setFont(new java.awt.Font("Futura", 0, 12)); // NOI18N


sq.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Select
question", "What city were you born?", "Who is your first elementary school teacher?",
"What is your first pet?", "What year you enter high school?", " " }));
jPanel1.add(sq, new org.netbeans.lib.awtextra.AbsoluteConstraints(1000, 380, 260, 30));

ans.setFont(new java.awt.Font("Futura", 0, 12)); // NOI18N


jPanel1.add(ans, new org.netbeans.lib.awtextra.AbsoluteConstraints(1000, 430, 260,
30));

jButton2.setFont(new java.awt.Font("Futura", 2, 12)); // NOI18N


jButton2.setText("Login");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});
jPanel1.add(jButton2, new org.netbeans.lib.awtextra.AbsoluteConstraints(1150, 540,
110, 30));

jButton1.setFont(new java.awt.Font("Futura", 2, 12)); // NOI18N


jButton1.setText("Register");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jPanel1.add(jButton1, new org.netbeans.lib.awtextra.AbsoluteConstraints(1005, 540,
120, 30));

jLabel3.setFont(new java.awt.Font("Futura", 1, 12)); // NOI18N


jLabel3.setForeground(java.awt.Color.white);
jLabel3.setText("Name");
jPanel1.add(jLabel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(800, 230, 130, -
1));

jLabel4.setFont(new java.awt.Font("Futura", 1, 12)); // NOI18N


jLabel4.setForeground(java.awt.Color.white);
jLabel4.setText("Email");
jPanel1.add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(800, 280, -1, -
1));

jLabel5.setFont(new java.awt.Font("Futura", 1, 12)); // NOI18N


jLabel5.setForeground(java.awt.Color.white);
jLabel5.setText("Password");
jPanel1.add(jLabel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(800, 330, -1, -
1));

jLabel6.setFont(new java.awt.Font("Futura", 1, 12)); // NOI18N


jLabel6.setForeground(java.awt.Color.white);
jLabel6.setText("Security Question");
jPanel1.add(jLabel6, new org.netbeans.lib.awtextra.AbsoluteConstraints(800, 380, -1, -
1));

jLabel7.setFont(new java.awt.Font("Futura", 1, 12)); // NOI18N


jLabel7.setForeground(java.awt.Color.white);
jLabel7.setText("Answer");
jPanel1.add(jLabel7, new org.netbeans.lib.awtextra.AbsoluteConstraints(800, 430, -1, -
1));

jLabel8.setFont(new java.awt.Font("Futura", 1, 12)); // NOI18N


jLabel8.setForeground(java.awt.Color.white);
jLabel8.setText("Address");
jPanel1.add(jLabel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(800, 480, -1, -
1));

jLabel9.setFont(new java.awt.Font("Futura", 3, 24)); // NOI18N


jLabel9.setForeground(java.awt.Color.white);
jLabel9.setText("Sign Up");
jPanel1.add(jLabel9, new org.netbeans.lib.awtextra.AbsoluteConstraints(800, 160, 160,
50));

jButton4.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/images/EXIT.png"))); // NOI18N
jButton4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton4ActionPerformed(evt);
}
});
jPanel1.add(jButton4, new org.netbeans.lib.awtextra.AbsoluteConstraints(1180, 40, -1, -
1));

jLabel2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/SIGN
UP.png"))); // NOI18N
jPanel1.add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 1370, -1));
getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -
1, -1));

pack();
setLocationRelativeTo(null);
}// </editor-fold>

private void userActionPerformed(java.awt.event.ActionEvent evt) {

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


String usr, pass, em, secq, answer, addr, query;
String SUrl, SUser, SPass;
SUrl = "jdbc:mysql://localhost:3307/IA";
SUser = "root";
SPass = "";
String sql = "INSERT INTO reg (Name, Email, Password, SecQ, Answer, Address)
VALUES (?, ?, ?, ?, ?, ?)";

try {
Class.forName("com.mysql.cj.jdbc.Driver");
try (Connection con = DriverManager.getConnection(SUrl, SUser, SPass);
PreparedStatement pst = con.prepareStatement(sql)) {

if (user.getText().isEmpty()) {
JOptionPane.showMessageDialog(new JFrame(), "Name is required", "Error",
JOptionPane.ERROR_MESSAGE);
} else if (password.getText().isEmpty()) {
JOptionPane.showMessageDialog(new JFrame(), "Password is required", "Error",
JOptionPane.ERROR_MESSAGE);
} else if (email.getText().isEmpty()) {
JOptionPane.showMessageDialog(new JFrame(), "Email is required", "Error",
JOptionPane.ERROR_MESSAGE);
} else if (sq.getSelectedItem().toString().isEmpty()) {
JOptionPane.showMessageDialog(new JFrame(), "Select the verification
question!", "Error", JOptionPane.ERROR_MESSAGE);
} else if (ans.getText().isEmpty()) {
JOptionPane.showMessageDialog(new JFrame(), "Answer the question", "Error",
JOptionPane.ERROR_MESSAGE);
} else if (address.getText().isEmpty()) {
JOptionPane.showMessageDialog(new JFrame(), "Address is required", "Error",
JOptionPane.ERROR_MESSAGE);
} else {
usr = user.getText();
pass = password.getText();
em = email.getText();
secq = sq.getSelectedItem().toString();
answer = ans.getText();
addr = address.getText();

String checkQuery = "SELECT * FROM reg WHERE Name = ?";


try (PreparedStatement checkStatement = con.prepareStatement(checkQuery)) {
checkStatement.setString(1, usr);
try (ResultSet resultSet = checkStatement.executeQuery()) {
if (resultSet.next()) {
JOptionPane.showMessageDialog(new JFrame(), "Username already
exists", "Error", JOptionPane.ERROR_MESSAGE);
} else {
pst.setString(1, usr);
pst.setString(2, em);
pst.setString(3, pass);
pst.setString(4, secq);
pst.setString(5, answer);
pst.setString(6, addr);

pst.executeUpdate();

user.setText("");
password.setText("");
email.setText("");
sq.setSelectedIndex(-1);
ans.setText("");
address.setText("");

JOptionPane.showMessageDialog(null, "New account has been CREATED


successfully!");
}
}
}
}
}
} catch (ClassNotFoundException | SQLException e) {
System.out.println("Error!" + e.getMessage());
}
}

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


int a=JOptionPane.showConfirmDialog(null, "Do you really want to close
Application?","Select", JOptionPane.YES_NO_OPTION);
if(a==0)
System.exit(0);
}

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


this.dispose();
login log=new login();
log.setVisible(true);
}

public static void main(String args[]) {

java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new register().setVisible(true);
}
});
}

// Variables declaration - do not modify


private javax.swing.JTextField address;
private javax.swing.JTextField ans;
private javax.swing.JTextField email;
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton4;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JPanel jPanel1;
private javax.swing.JPasswordField password;
private javax.swing.JComboBox<String> sq;
private javax.swing.JTextField user;
// End of variables declaration
}

3. Login
/*
* 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 super_new_ia;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JOptionPane;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.*;

import super_new_ia.aboutus;

public class login extends javax.swing.JFrame {

public login() {
initComponents();
}

@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

jPanel1 = new javax.swing.JPanel();


jLabel2 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
email = new javax.swing.JTextField();
password = new javax.swing.JPasswordField();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jButton4 = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

jPanel1.setMaximumSize(new java.awt.Dimension(1366, 768));


jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

jLabel2.setFont(new java.awt.Font("Futura", 3, 24)); // NOI18N


jLabel2.setForeground(java.awt.Color.white);
jLabel2.setText("Login");
jPanel1.add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(640, 290, 70,
50));

jLabel4.setFont(new java.awt.Font("Futura", 1, 12)); // NOI18N


jLabel4.setForeground(java.awt.Color.white);
jLabel4.setText("Email");
jPanel1.add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(390, 400, -1, -
1));
jLabel5.setFont(new java.awt.Font("Futura", 0, 8)); // NOI18N
jLabel5.setForeground(java.awt.Color.white);
jLabel5.setText("Don't have account?");
jPanel1.add(jLabel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(580, 550, -1, -
1));

jLabel6.setFont(new java.awt.Font("Futura", 1, 12)); // NOI18N


jLabel6.setForeground(java.awt.Color.white);
jLabel6.setText("Password");
jPanel1.add(jLabel6, new org.netbeans.lib.awtextra.AbsoluteConstraints(390, 450, -1, -
1));

email.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
emailActionPerformed(evt);
}
});
jPanel1.add(email, new org.netbeans.lib.awtextra.AbsoluteConstraints(568, 390, 380, -
1));
jPanel1.add(password, new org.netbeans.lib.awtextra.AbsoluteConstraints(570, 450,
380, -1));

jButton1.setFont(new java.awt.Font("Futura", 2, 12)); // NOI18N


jButton1.setText("Register");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jPanel1.add(jButton1, new org.netbeans.lib.awtextra.AbsoluteConstraints(580, 570, -1,
30));

jButton2.setFont(new java.awt.Font("Futura", 2, 12)); // NOI18N


jButton2.setText("Login");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});
jPanel1.add(jButton2, new org.netbeans.lib.awtextra.AbsoluteConstraints(690, 570, -1,
30));

jButton4.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/images/EXIT.png"))); // NOI18N
jButton4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton4ActionPerformed(evt);
}
});
jPanel1.add(jButton4, new org.netbeans.lib.awtextra.AbsoluteConstraints(1180, 40, -1, -
1));

jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/LOGIN
2.png"))); // NOI18N
jPanel1.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, -20, 1420,
800));

getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0,


1380, 780));

pack();
setLocationRelativeTo(null);
}// </editor-fold>

private void emailActionPerformed(java.awt.event.ActionEvent evt) {

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


this.dispose();
register reg=new register();
reg.setVisible(true);
}

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


String SUrl, SUser, SPass;
SUrl = "jdbc:mysql://localhost:3307/IA";
SUser = "root";
SPass = "";

String userEmail = email.getText();


String userPassword = new String(password.getPassword());

try {
Class.forName("com.mysql.cj.jdbc.Driver");
Connection con = DriverManager.getConnection(SUrl, SUser, SPass);
Statement stmt = con.createStatement();
String sql = "SELECT * FROM reg WHERE Email = '" + userEmail + "' AND Password
= '" + userPassword + "'";
ResultSet rs = stmt.executeQuery(sql);

if (rs.next()) {
if (userEmail.equals("admin@gmail.com") && userPassword.equals("restricted")) {
dispose(); // Close the login frame
adminhome adminHomeFrame = new adminhome();
adminHomeFrame.setVisible(true); // Open the adminhome frame
} else {
dispose(); // Close the login frame
aboutus aboutusFrame = new aboutus();
aboutusFrame.setVisible(true); // Open the aboutus frame
}
} else {
JOptionPane.showMessageDialog(null, "Invalid Email or Password");
}

} catch (Exception e) {
System.out.println("Error: " + e.getMessage());
}

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


int a=JOptionPane.showConfirmDialog(null, "Do you really want to close
Application?","Select", JOptionPane.YES_NO_OPTION);
if(a==0)
System.exit(0);
}

public static void main(String args[]) {

java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new login().setVisible(true);
}
});
}

// Variables declaration - do not modify


private javax.swing.JTextField email;
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton4;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JPanel jPanel1;
private javax.swing.JPasswordField password;
// End of variables declaration
}
4. About Us
/*
* 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 super_new_ia;

import javax.swing.JOptionPane;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class aboutus extends javax.swing.JFrame {

public aboutus() {
initComponents();
}

@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

jPanel1 = new javax.swing.JPanel();


next = new javax.swing.JButton();
jButton4 = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

jPanel1.setPreferredSize(new java.awt.Dimension(1366, 768));


jPanel1.setSize(new java.awt.Dimension(1366, 768));
jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

next.setFont(new java.awt.Font("Futura", 2, 12)); // NOI18N


next.setText("Main Page");
next.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
nextActionPerformed(evt);
}
});
jPanel1.add(next, new org.netbeans.lib.awtextra.AbsoluteConstraints(640, 600, -1, 30));

jButton4.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/images/EXIT.png"))); // NOI18N
jButton4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton4ActionPerformed(evt);
}
});
jPanel1.add(jButton4, new org.netbeans.lib.awtextra.AbsoluteConstraints(1180, 40, -1, -
1));

jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/about
us .png"))); // NOI18N
jLabel1.setText("jLabel1");
jPanel1.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));

getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -


1, -1));

pack();
setLocationRelativeTo(null);
}// </editor-fold>

private void nextActionPerformed(java.awt.event.ActionEvent evt) {


this.dispose();
mainpage main=new mainpage();
main.setVisible(true);
}

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


int a=JOptionPane.showConfirmDialog(null, "Do you really want to close
Application?","Select", JOptionPane.YES_NO_OPTION);
if(a==0)
System.exit(0);
}

public static void main(String args[]) {

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(aboutus.class.getName()).log(java.util.logging.Level.SEV
ERE, null, ex);
} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(aboutus.class.getName()).log(java.util.logging.Level.SEV
ERE, null, ex);
} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(aboutus.class.getName()).log(java.util.logging.Level.SEV
ERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(aboutus.class.getName()).log(java.util.logging.Level.SEV
ERE, null, ex);
}

java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new aboutus().setVisible(true);
}
});
}

// Variables declaration - do not modify


private javax.swing.JButton jButton4;
private javax.swing.JLabel jLabel1;
private javax.swing.JPanel jPanel1;
private javax.swing.JButton next;
// End of variables declaration
}

5. Main Page
/*
* 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 super_new_ia;

import javax.swing.JOptionPane;

public class mainpage extends javax.swing.JFrame {

public mainpage() {
initComponents();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

jPanel1 = new javax.swing.JPanel();


jButton6 = new javax.swing.JButton();
jButton7 = new javax.swing.JButton();
jButton8 = new javax.swing.JButton();
jButton9 = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

jPanel1.setPreferredSize(new java.awt.Dimension(1366, 768));


jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

jButton6.setFont(new java.awt.Font("Futura", 1, 18)); // NOI18N


jButton6.setForeground(new java.awt.Color(0, 102, 204));
jButton6.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/images/EXIT.png"))); // NOI18N
jButton6.setText("EXIT");
jButton6.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton6ActionPerformed(evt);
}
});
jPanel1.add(jButton6, new org.netbeans.lib.awtextra.AbsoluteConstraints(710, 20, -1, -
1));

jButton7.setFont(new java.awt.Font("Futura", 1, 18)); // NOI18N


jButton7.setForeground(new java.awt.Color(0, 102, 204));
jButton7.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/images/LOGOUT.png"))); // NOI18N
jButton7.setText("LOGOUT");
jButton7.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton7ActionPerformed(evt);
}
});
jPanel1.add(jButton7, new org.netbeans.lib.awtextra.AbsoluteConstraints(490, 20, -1, -
1));

jButton8.setFont(new java.awt.Font("Futura", 1, 18)); // NOI18N


jButton8.setForeground(new java.awt.Color(204, 153, 0));
jButton8.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/images/REGISTER LESSON.png"))); //
NOI18N
jButton8.setText("Lesson Check In");
jButton8.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton8ActionPerformed(evt);
}
});
jPanel1.add(jButton8, new org.netbeans.lib.awtextra.AbsoluteConstraints(1010, 330,
320, 120));

jButton9.setFont(new java.awt.Font("Futura", 1, 18)); // NOI18N


jButton9.setForeground(new java.awt.Color(204, 153, 0));
jButton9.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/images/BOOKED LESSON.png"))); //
NOI18N
jButton9.setText("Availibility");
jButton9.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton9ActionPerformed(evt);
}
});
jPanel1.add(jButton9, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 320, 320,
120));

jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/main
page.png"))); // NOI18N
jPanel1.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 1366, -1));

getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -


1, -1));

pack();
setLocationRelativeTo(null);
}// </editor-fold>

private void jButton9ActionPerformed(java.awt.event.ActionEvent evt) {


new availability().setVisible(true);
}

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


new lessoncheckin().setVisible(true);
}

private void jButton7ActionPerformed(java.awt.event.ActionEvent evt) {


new login().setVisible(true);
}
private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {
int a=JOptionPane.showConfirmDialog(null, "Do you really want to close
Application?","Select", JOptionPane.YES_NO_OPTION);
if(a==0)
System.exit(0);
}

public static void main(String args[]) {


java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new mainpage().setVisible(true);
}
});
}

// Variables declaration - do not modify


private javax.swing.JButton jButton6;
private javax.swing.JButton jButton7;
private javax.swing.JButton jButton8;
private javax.swing.JButton jButton9;
private javax.swing.JLabel jLabel1;
private javax.swing.JPanel jPanel1;
// End of variables declaration
}

6. Availability
/*
* 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 super_new_ia;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

public class availability extends javax.swing.JFrame {


DefaultTableModel tableModel;

public availability() {
initComponents();
tableModel = new DefaultTableModel(new String[]{"Missed Date", "Missed Subject",
"Teacher", "Substitute Date"}, 0) {
@Override
public boolean isCellEditable(int row, int column) {
return false;
}
};
jTable1.setModel(tableModel);
fetchDataFromDatabase();
}

private void fetchDataFromDatabase() {


String url = "jdbc:mysql://localhost:3307/IA";
String username = "root";
String password = "";

try (Connection connection = DriverManager.getConnection(url, username, password)) {


String query = "SELECT * FROM lesson";
PreparedStatement statement = connection.prepareStatement(query);
ResultSet resultSet = statement.executeQuery();

tableModel.setRowCount(0);

while (resultSet.next()) {
String missedDate = resultSet.getString("missed_date");
String missedSubject = resultSet.getString("missed_subject");
String teacher = resultSet.getString("teacher");
String substituteDate = resultSet.getString("substitute_date");
tableModel.addRow(new Object[]{missedDate, missedSubject, teacher,
substituteDate});
}

resultSet.close();
statement.close();
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, "Error: " + e.getMessage());
}
}

@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

jPanel1 = new javax.swing.JPanel();


jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
jLabel4 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
jLabel8 = new javax.swing.JLabel();
jComboBox1 = new javax.swing.JComboBox<>();
jComboBox2 = new javax.swing.JComboBox<>();
jDateChooser1 = new com.toedter.calendar.JDateChooser();
jDateChooser2 = new com.toedter.calendar.JDateChooser();
jButton1 = new javax.swing.JButton();
jButton4 = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setLocation(new java.awt.Point(50, 118));
setMinimumSize(new java.awt.Dimension(1266, 600));
getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

jPanel1.setMaximumSize(new java.awt.Dimension(1266, 600));


jPanel1.setMinimumSize(new java.awt.Dimension(1266, 600));
jPanel1.setPreferredSize(new java.awt.Dimension(1266, 600));
jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

jTable1.setFont(new java.awt.Font("Futura", 0, 13)); // NOI18N


jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {

},
new String [] {
"Missed Date", "Missed Subject", "Teacher", "Subtitute Date"
}
));
jScrollPane1.setViewportView(jTable1);

jPanel1.add(jScrollPane1, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 100,


490, -1));

jLabel4.setFont(new java.awt.Font("Futura", 0, 12)); // NOI18N


jLabel4.setForeground(java.awt.Color.white);
jLabel4.setText("Missed Lesson Date");
jPanel1.add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(680, 120, -1, -
1));

jLabel6.setFont(new java.awt.Font("Futura", 0, 12)); // NOI18N


jLabel6.setForeground(java.awt.Color.white);
jLabel6.setText("Missed Subject");
jPanel1.add(jLabel6, new org.netbeans.lib.awtextra.AbsoluteConstraints(680, 180, -1, -
1));
jLabel7.setFont(new java.awt.Font("Futura", 0, 12)); // NOI18N
jLabel7.setForeground(java.awt.Color.white);
jLabel7.setText("Teacher");
jPanel1.add(jLabel7, new org.netbeans.lib.awtextra.AbsoluteConstraints(680, 240, -1, -
1));

jLabel8.setFont(new java.awt.Font("Futura", 0, 12)); // NOI18N


jLabel8.setForeground(java.awt.Color.white);
jLabel8.setText("Subtitute Learning Date");
jPanel1.add(jLabel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(680, 300, -1, -
1));

jComboBox1.setFont(new java.awt.Font("Futura", 0, 13)); // NOI18N


jComboBox1.setModel(new javax.swing.DefaultComboBoxModel<>(new String[]
{ "Select your teacher", "Ira Prihapsari, M.Pd.", "Andriana Vita Nurjannah, S.Pd., M.Hum.",
"Roki Ranjani Sanjadireja, M.Pd", "Nadya Sivanya Rheisa, S.S., M.A.", "Oscar Yustino
Carascalao, M.Pd.", "Ruth Manuela Adi Pratami, S.Pd.", "Ajeng Putri Pratiwi, S.Pd.", "Ismi
Solikhatun, M.Pd.", "Intan Yulfi Latifah, S.M.", "Agung Heri Junianto, S.Pd.", "Panji Haryo
Purnomo, M.A.", "Erni Purnasari, S.Pd.", "Opik Prasetyo, S.Pd.", "Imas Ifrian Wijayanti,
S.Pd., M.Si", "Denny Muhammad Fajar, S.Pd., M.Sc.", "Pugar Arga Cristina Wulandari,
S.Pd., M.Si.", "Rena Zaen, S.Pd, M.Ed", "Doni Wahyu Prabowo, S.Pd.", "Dina Fitriana,
S.Pd., M.Sc", "Yohanes Parsaoran S, S.Pd.", "Andri Pramono, S.Pd.", "Marinda Noor Eva,
S.Pd, M.Sc.", "Eki Muqowi, S.Si., M.T.", "Nur Kholis Novianto, M.Pd.", "Isnaini Rohayati,
M.Pd.", "Rinaldi Perdana Putra, M.Pd.", "Zeni Rofiqoh, S.Pd., M.Sc.", "Triwik Jatu
Parmaningsih, S.Si, M.Sc", "Zahara Yuyun Nailufar, S.Pd.", "Fransiska Galuh Chandra
Prasetyari, S.Pd.", "Yasin Surya Wijaya, S.Pd., M.A.", "Vinsensia Gunita Putri S.Pd",
"Abdulkarim Zulfa Ahmadi, M.Pd.", "Risma Silviani Putri, M.Pd.", "Simon Sarbunan, M.Si.
Teololahraga", "Pandu Siawan, S.Pd.", "Uswatun Hasanah, S.E., M.Han.,", "Kartika Rahmat
Sari Dewi, M.Pd." }));
jPanel1.add(jComboBox1, new org.netbeans.lib.awtextra.AbsoluteConstraints(680, 270,
380, -1));

jComboBox2.setFont(new java.awt.Font("Futura", 0, 13)); // NOI18N


jComboBox2.setModel(new javax.swing.DefaultComboBoxModel<>(new String[]
{ "Select your subject", "Indonesia A", "English A", "English B", "French AB Initio",
"Business Management", "History", "Philosophy", "Biology", "Chemistry", "Computer
Science", "Physics", "Mathematics AA", "Mathematics AI", "Art Music", "Religion",
"Physical Education", "Civics", "Local Language", " " }));
jComboBox2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jComboBox2ActionPerformed(evt);
}
});
jPanel1.add(jComboBox2, new org.netbeans.lib.awtextra.AbsoluteConstraints(680, 210,
380, -1));
jPanel1.add(jDateChooser1, new org.netbeans.lib.awtextra.AbsoluteConstraints(680,
150, 380, -1));
jPanel1.add(jDateChooser2, new org.netbeans.lib.awtextra.AbsoluteConstraints(680,
330, 380, -1));

jButton1.setFont(new java.awt.Font("Futura", 0, 13)); // NOI18N


jButton1.setText("Check Availability");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jPanel1.add(jButton1, new org.netbeans.lib.awtextra.AbsoluteConstraints(680, 370, -1, -
1));

jButton4.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/images/EXIT.png"))); // NOI18N
jButton4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton4ActionPerformed(evt);
}
});
jPanel1.add(jButton4, new org.netbeans.lib.awtextra.AbsoluteConstraints(1150, 20, -1, -
1));

jLabel1.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/images/2.png"))); // NOI18N
jPanel1.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));

getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -


1, -1));
jPanel1.getAccessibleContext().setAccessibleDescription("");

pack();
setLocationRelativeTo(null);
}// </editor-fold>

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


setVisible(false);
}

private void jComboBox2ActionPerformed(java.awt.event.ActionEvent evt) {

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


String url = "jdbc:mysql://localhost:3307/IA";
String username = "root";
String password = "";
java.util.Date utilDateMissed = jDateChooser1.getDate();
java.util.Date utilSubstituteDate = jDateChooser2.getDate();

java.sql.Date sqlDateMissed = new java.sql.Date(utilDateMissed.getTime());


java.sql.Date sqlSubstituteDate = new java.sql.Date(utilSubstituteDate.getTime());

String subjectMissed = (String) jComboBox2.getSelectedItem();


String teacher = (String) jComboBox1.getSelectedItem();

try (Connection connection = DriverManager.getConnection(url, username, password)) {


String query = "SELECT * FROM lesson WHERE missed_date = ? AND
missed_subject = ? AND substitute_date = ? AND teacher = ?";
PreparedStatement preparedStatement = connection.prepareStatement(query);
preparedStatement.setDate(1, sqlDateMissed);
preparedStatement.setString(2, subjectMissed);
preparedStatement.setDate(3, sqlSubstituteDate);
preparedStatement.setString(4, teacher);

ResultSet resultSet = preparedStatement.executeQuery();

if (resultSet.next()) {

JOptionPane.showMessageDialog(null, "There is someone who is taking the same


subtitute lesson with you!");
} else {

JOptionPane.showMessageDialog(null, "You will got the subtitute lesson by


yourself!");
}

resultSet.close();
preparedStatement.close();

} catch (SQLException e) {
JOptionPane.showMessageDialog(null, "Error: " + e.getMessage());
}

/**
* @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(availability.class.getName()).log(java.util.logging.Level.S
EVERE, null, ex);
} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(availability.class.getName()).log(java.util.logging.Level.S
EVERE, null, ex);
} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(availability.class.getName()).log(java.util.logging.Level.S
EVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(availability.class.getName()).log(java.util.logging.Level.S
EVERE, null, ex);
}
//</editor-fold>
//</editor-fold>

/* Create and display the form */


java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new availability().setVisible(true);
}
});
}

// Variables declaration - do not modify


private javax.swing.JButton jButton1;
private javax.swing.JButton jButton4;
private javax.swing.JComboBox<String> jComboBox1;
private javax.swing.JComboBox<String> jComboBox2;
private com.toedter.calendar.JDateChooser jDateChooser1;
private com.toedter.calendar.JDateChooser jDateChooser2;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JPanel jPanel1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;
// End of variables declaration
}

7. Lesson Check In
package super_new_ia;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import com.itextpdf.text.Document;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter;
import java.io.FileOutputStream;
import java.util.Date;

public class lessoncheckin extends javax.swing.JFrame {

private void printReceiptToPDF(String name, String email, String classSelected, String


absentNumber, String contact,
String gender, String materialsReason, Date missedDate, String missedSubject, String
teacher,
Date substituteDate) {
String fileName = "receipt.pdf";

Document document = new Document();

try {
PdfWriter.getInstance(document, new FileOutputStream(fileName));

document.open();

document.add(new Paragraph("SUBTITUTE LEARNING PLAN\n"));


document.add(new Paragraph(""));
document.add(new
Paragraph("==========================================================
==================================================================
================="));
document.add(new Paragraph("Here is your substitute learning detail"));
document.add(new Paragraph("Learning Details:"));
document.add(new Paragraph("Full Name: " + name));
document.add(new Paragraph("Email: " + email));
document.add(new Paragraph("Class: " + classSelected));
document.add(new Paragraph("Absent Number: " + absentNumber));
document.add(new Paragraph("Your Contact: " + contact));
document.add(new Paragraph("Gender: " + gender));
document.add(new Paragraph("Materials Missing & Reason: " + materialsReason));
document.add(new Paragraph("Missed Lesson Date: " + missedDate.toString()));
document.add(new Paragraph("Missed Subject: " + missedSubject));
document.add(new Paragraph("Teacher: " + teacher));
document.add(new Paragraph("Substitute Learning Date: " +
substituteDate.toString()));
document.add(new Paragraph(""));
document.add(new
Paragraph("==========================================================
==================================================================
================="));
document.add(new Paragraph("Please show this receipt when you meet the teacher for
the substitute learning"));
document.add(new Paragraph("Happy Study, Future Leaders!"));

document.close();
JOptionPane.showMessageDialog(this, "Receipt saved as " + fileName, "Receipt
Saved",
JOptionPane.INFORMATION_MESSAGE);
} catch (Exception e) {
e.printStackTrace();
JOptionPane.showMessageDialog(this, "Error saving receipt: " + e.getMessage(),
"Error",
JOptionPane.ERROR_MESSAGE);
}
}

public lessoncheckin() {
initComponents();

@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

jPanel1 = new javax.swing.JPanel();


jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
jLabel8 = new javax.swing.JLabel();
jLabel9 = new javax.swing.JLabel();
jLabel10 = new javax.swing.JLabel();
jLabel11 = new javax.swing.JLabel();
jLabel12 = new javax.swing.JLabel();
jTextField1 = new javax.swing.JTextField();
jTextField2 = new javax.swing.JTextField();
jTextField3 = new javax.swing.JTextField();
jTextField4 = new javax.swing.JTextField();
jTextField5 = new javax.swing.JTextField();
jComboBox1 = new javax.swing.JComboBox<>();
jComboBox2 = new javax.swing.JComboBox<>();
jComboBox3 = new javax.swing.JComboBox<>();
jComboBox4 = new javax.swing.JComboBox<>();
jDateChooser1 = new com.toedter.calendar.JDateChooser();
jDateChooser2 = new com.toedter.calendar.JDateChooser();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jButton4 = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

jPanel1.setAlignmentX(0.0F);
jPanel1.setAlignmentY(0.0F);
jPanel1.setBounds(new java.awt.Rectangle(0, 0, 1266, 600));
jPanel1.setMaximumSize(new java.awt.Dimension(1266, 600));
jPanel1.setPreferredSize(new java.awt.Dimension(1266, 600));
jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

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


jLabel2.setForeground(new java.awt.Color(204, 153, 0));
jLabel2.setText("Email");
jPanel1.add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(140, 190, -1, -
1));

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


jLabel3.setForeground(new java.awt.Color(204, 153, 0));
jLabel3.setText("Class");
jPanel1.add(jLabel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(140, 240, -1, -
1));
jLabel4.setFont(new java.awt.Font("Futura", 1, 14)); // NOI18N
jLabel4.setForeground(new java.awt.Color(204, 153, 0));
jLabel4.setText("Absent Number");
jPanel1.add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(140, 300, -1, -
1));

jLabel5.setFont(new java.awt.Font("Futura", 1, 14)); // NOI18N


jLabel5.setForeground(new java.awt.Color(204, 153, 0));
jLabel5.setText("Your Contact");
jPanel1.add(jLabel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(140, 360, -1, -
1));

jLabel6.setFont(new java.awt.Font("Futura", 1, 14)); // NOI18N


jLabel6.setForeground(new java.awt.Color(204, 153, 0));
jLabel6.setText("Gender");
jPanel1.add(jLabel6, new org.netbeans.lib.awtextra.AbsoluteConstraints(140, 420, -1, -
1));

jLabel7.setFont(new java.awt.Font("Futura", 1, 14)); // NOI18N


jLabel7.setForeground(new java.awt.Color(204, 153, 0));
jLabel7.setText("Reason & Materials Missed");
jPanel1.add(jLabel7, new org.netbeans.lib.awtextra.AbsoluteConstraints(640, 140, -1, -
1));

jLabel8.setFont(new java.awt.Font("Futura", 1, 14)); // NOI18N


jLabel8.setForeground(new java.awt.Color(204, 153, 0));
jLabel8.setText("Missed Lesson Date");
jPanel1.add(jLabel8, new org.netbeans.lib.awtextra.AbsoluteConstraints(640, 200, -1, -
1));

jLabel9.setFont(new java.awt.Font("Futura", 1, 14)); // NOI18N


jLabel9.setForeground(new java.awt.Color(204, 153, 0));
jLabel9.setText("Missed Subject");
jPanel1.add(jLabel9, new org.netbeans.lib.awtextra.AbsoluteConstraints(640, 250, -1, -
1));

jLabel10.setFont(new java.awt.Font("Futura", 1, 14)); // NOI18N


jLabel10.setForeground(new java.awt.Color(204, 153, 0));
jLabel10.setText("Teacher");
jPanel1.add(jLabel10, new org.netbeans.lib.awtextra.AbsoluteConstraints(640, 310, -1, -
1));

jLabel11.setFont(new java.awt.Font("Futura", 1, 14)); // NOI18N


jLabel11.setForeground(new java.awt.Color(204, 153, 0));
jLabel11.setText("Subtitute Learning Date");
jPanel1.add(jLabel11, new org.netbeans.lib.awtextra.AbsoluteConstraints(640, 370, -1, -
1));
jLabel12.setFont(new java.awt.Font("Futura", 1, 14)); // NOI18N
jLabel12.setForeground(new java.awt.Color(204, 153, 0));
jLabel12.setText("Full Name");
jPanel1.add(jLabel12, new org.netbeans.lib.awtextra.AbsoluteConstraints(140, 140, -1, -
1));

jTextField1.setFont(new java.awt.Font("Futura", 0, 13)); // NOI18N


jTextField1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jTextField1ActionPerformed(evt);
}
});
jPanel1.add(jTextField1, new org.netbeans.lib.awtextra.AbsoluteConstraints(140, 160,
390, -1));

jTextField2.setFont(new java.awt.Font("Futura", 0, 13)); // NOI18N


jTextField2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jTextField2ActionPerformed(evt);
}
});
jPanel1.add(jTextField2, new org.netbeans.lib.awtextra.AbsoluteConstraints(140, 210,
390, -1));

jTextField3.setFont(new java.awt.Font("Futura", 0, 13)); // NOI18N


jTextField3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jTextField3ActionPerformed(evt);
}
});
jPanel1.add(jTextField3, new org.netbeans.lib.awtextra.AbsoluteConstraints(140, 330,
390, -1));

jTextField4.setFont(new java.awt.Font("Futura", 0, 13)); // NOI18N


jPanel1.add(jTextField4, new org.netbeans.lib.awtextra.AbsoluteConstraints(140, 390,
390, -1));

jTextField5.setFont(new java.awt.Font("Futura", 0, 13)); // NOI18N


jPanel1.add(jTextField5, new org.netbeans.lib.awtextra.AbsoluteConstraints(640, 170,
430, -1));

jComboBox1.setFont(new java.awt.Font("Futura", 0, 13)); // NOI18N


jComboBox1.setModel(new javax.swing.DefaultComboBoxModel<>(new String[]
{ "Select your class", "X1", "X2", "X3", "X4", "X5", "XI1", "XI2", "XI3", "XI4", "XI5",
"XII1", "XII2", "XII3", "XII4", "XII5", "XII6" }));
jComboBox1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jComboBox1ActionPerformed(evt);
}
});
jPanel1.add(jComboBox1, new org.netbeans.lib.awtextra.AbsoluteConstraints(140, 270,
390, -1));

jComboBox2.setFont(new java.awt.Font("Futura", 0, 13)); // NOI18N


jComboBox2.setModel(new javax.swing.DefaultComboBoxModel<>(new String[]
{ "Select your gender", "Male", "Female" }));
jPanel1.add(jComboBox2, new org.netbeans.lib.awtextra.AbsoluteConstraints(140, 450,
390, -1));

jComboBox3.setFont(new java.awt.Font("Futura", 0, 13)); // NOI18N


jComboBox3.setModel(new javax.swing.DefaultComboBoxModel<>(new String[]
{ "Select your class", "Indonesia A", "English A", "English B", "French AB Initio", "Business
Management", "History", "Philosophy", "Computer Science", "Chemistry ", "Physics",
"Biology", "Math AI", "Math AA", "Visual Art", "Art Music" }));
jPanel1.add(jComboBox3, new org.netbeans.lib.awtextra.AbsoluteConstraints(640, 280,
430, -1));

jComboBox4.setFont(new java.awt.Font("Futura", 0, 13)); // NOI18N


jComboBox4.setModel(new javax.swing.DefaultComboBoxModel<>(new String[]
{ "Select your teacher", "Ira Prihapsari, M.Pd.", "Ancila Putri Perwitasari, M.Pd", "Andriana
Vita Nurjannah, S.Pd., M.Hum.", "Ruth Manuela Adi Pratami, S.Pd.", "Roki Ranjani
Sanjadireja, M.Pd", "Oscar Yustino Carascalao, M.Pd.", "Ajeng Putri Pratiwi, S.Pd.", "Ismi
Solikhatun, M.Pd.", "Intan Yulfi Latifah, S.M.", "Agung Heri Junianto, S.Pd.", "Panji Haryo
Purnomo, M.A.", "Yohanes Parsaoran S, S.Pd.", "Andri Pramono, S.Pd.", "Doni Wahyu
Prabowo, S.Pd.", "Pugar Arga Cristina Wulandari, S.Pd., M.Si.", "Rena Zaen, S.Pd, M.Ed",
"Dina Fitriana, S.Pd., M.Sc", "Nur Kholis Novianto, M.Pd.", "Eki Muqowi, S.Si., M.T.",
"Marinda Noor Eva, S.Pd, M.Sc.", "Isnaini Rohayati, M.Pd.", "Erni Purnasari, S.Pd.", "Opik
Prasetyo, S.Pd.", "Denny Muhammad Fajar, S.Pd., M.Sc.", "Bernadeta Asih Wuri Damayanti,
M.Pd. ", "Imas Ifrian Wijayanti, S.Pd., M.Si", "Triwik Jatu Parmaningsih, S.Si, M.Sc",
"Zahara Yuyun Nailufar, S.Pd.", "Zeni Rofiqoh, S.Pd., M.Sc.", "Fransiska Galuh Chandra
Prasetyari, S.Pd.", "Rinaldi Perdana Putra, M.Pd.", "Yasin Surya Wijaya, S.Pd., M.A.",
"Vinsensia Gunita Putri S.Pd" }));
jPanel1.add(jComboBox4, new org.netbeans.lib.awtextra.AbsoluteConstraints(640, 340,
430, -1));
jPanel1.add(jDateChooser1, new org.netbeans.lib.awtextra.AbsoluteConstraints(640,
220, 430, -1));
jPanel1.add(jDateChooser2, new org.netbeans.lib.awtextra.AbsoluteConstraints(640,
400, 430, -1));

jButton1.setBackground(new java.awt.Color(0, 102, 153));


jButton1.setFont(new java.awt.Font("Futura", 0, 13)); // NOI18N
jButton1.setForeground(new java.awt.Color(255, 255, 255));
jButton1.setText("Allote Schedule");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jPanel1.add(jButton1, new org.netbeans.lib.awtextra.AbsoluteConstraints(640, 450, 190,
-1));

jButton2.setBackground(new java.awt.Color(204, 153, 0));


jButton2.setFont(new java.awt.Font("Futura", 0, 13)); // NOI18N
jButton2.setForeground(new java.awt.Color(255, 255, 255));
jButton2.setText("Clear");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});
jPanel1.add(jButton2, new org.netbeans.lib.awtextra.AbsoluteConstraints(890, 450, 180,
-1));

jButton4.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/images/EXIT.png"))); // NOI18N
jButton4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton4ActionPerformed(evt);
}
});
jPanel1.add(jButton4, new org.netbeans.lib.awtextra.AbsoluteConstraints(1180, 40, -1, -
1));

jLabel1.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/images/3.png"))); // NOI18N
jLabel1.setText("jLabel1");
jPanel1.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));

getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -


1, -1));

pack();
setLocationRelativeTo(null);
}// </editor-fold>

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

private void jTextField2ActionPerformed(java.awt.event.ActionEvent evt) {

private void jTextField3ActionPerformed(java.awt.event.ActionEvent evt) {


}

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

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


String name = jTextField1.getText();
String email = jTextField2.getText();
String classSelected = (String) jComboBox1.getSelectedItem();
String absentNumber = jTextField3.getText();
String contact = jTextField4.getText();
String gender = (String) jComboBox2.getSelectedItem();
String materialsReason = jTextField5.getText();
Date missedDate = jDateChooser1.getDate();
String missedSubject = (String) jComboBox3.getSelectedItem();
String teacher = (String) jComboBox4.getSelectedItem();
Date substituteDate = jDateChooser2.getDate();

Connection con = null;


PreparedStatement pstmt = null;

try {
con = DriverManager.getConnection("jdbc:mysql://localhost:3307/IA", "root", "");

String sql = "INSERT INTO lesson (name, email, class, absent_number, contact,
gender, materials_reason, missed_date, missed_subject, teacher, substitute_date) VALUES (?,
?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
pstmt = con.prepareStatement(sql);
pstmt.setString(1, name);
pstmt.setString(2, email);
pstmt.setString(3, classSelected);
pstmt.setString(4, absentNumber);
pstmt.setString(5, contact);
pstmt.setString(6, gender);
pstmt.setString(7, materialsReason);
pstmt.setDate(8, new java.sql.Date(missedDate.getTime()));
pstmt.setString(9, missedSubject);
pstmt.setString(10, teacher);
pstmt.setDate(11, new java.sql.Date(substituteDate.getTime()));

pstmt.executeUpdate();

JOptionPane.showMessageDialog(this, "The lesson is saved!");

int option = JOptionPane.showConfirmDialog(this, "Do you want to print the receipt


into PDF?", "Print Receipt", JOptionPane.YES_NO_OPTION);
if (option == JOptionPane.YES_OPTION) {
printReceiptToPDF(name, email, classSelected, absentNumber, contact, gender,
materialsReason, missedDate, missedSubject, teacher, substituteDate);
}

} catch (SQLException ex) {


ex.printStackTrace();
JOptionPane.showMessageDialog(this, "Error saving lesson: " + ex.getMessage(),
"Error", JOptionPane.ERROR_MESSAGE);
} finally {
try {
if (pstmt != null) {
pstmt.close();
}
if (con != null) {
con.close();
}
} catch (SQLException ex) {
ex.printStackTrace();
}
}

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

jTextField1.setText("");
jTextField2.setText("");
jComboBox1.setSelectedIndex(0);
jTextField3.setText("");
jTextField4.setText("");
jComboBox2.setSelectedIndex(0);
jTextField5.setText("");
jDateChooser1.setDate(null);
jComboBox3.setSelectedIndex(0);
jComboBox4.setSelectedIndex(0);
jDateChooser2.setDate(null);

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


setVisible(false);
}

public static void main(String args[]) {


java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new lessoncheckin().setVisible(true);
}
});
}

// Variables declaration - do not modify


private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton4;
private javax.swing.JComboBox<String> jComboBox1;
private javax.swing.JComboBox<String> jComboBox2;
private javax.swing.JComboBox<String> jComboBox3;
private javax.swing.JComboBox<String> jComboBox4;
private com.toedter.calendar.JDateChooser jDateChooser1;
private com.toedter.calendar.JDateChooser jDateChooser2;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel12;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JPanel jPanel1;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField2;
private javax.swing.JTextField jTextField3;
private javax.swing.JTextField jTextField4;
private javax.swing.JTextField jTextField5;
// End of variables declaration
}

8. Admin Home
package super_new_ia;
import javax.swing.JOptionPane;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.*;
import javax.swing.table.DefaultTableModel;
public class adminhome extends javax.swing.JFrame {

class EditableTableModel extends DefaultTableModel {


@Override
public boolean isCellEditable(int row, int column) {

return true;
}
}

public adminhome() { {
initComponents();

DefaultTableModel model = new EditableTableModel();


model.addColumn("Name");
model.addColumn("Email");
model.addColumn("SecQ");
model.addColumn("Address");
jTable1.setModel(model);

@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

jPanel1 = new javax.swing.JPanel();


jLabel2 = new javax.swing.JLabel();
nameOrEmail = new javax.swing.JTextField();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
jButton4 = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
addComponentListener(new java.awt.event.ComponentAdapter() {
public void componentShown(java.awt.event.ComponentEvent evt) {
formComponentShown(evt);
}
});
getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

jPanel1.setMaximumSize(new java.awt.Dimension(1366, 768));


jPanel1.setMinimumSize(new java.awt.Dimension(1366, 768));
jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(208,
774, -1, -1));

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


jLabel2.setForeground(java.awt.Color.white);
jLabel2.setText("Search by Name or Email");
getContentPane().add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(240,
150, 180, 50));

nameOrEmail.setFont(new java.awt.Font("Futura", 0, 12)); // NOI18N


nameOrEmail.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
nameOrEmailActionPerformed(evt);
}
});
getContentPane().add(nameOrEmail, new
org.netbeans.lib.awtextra.AbsoluteConstraints(420, 160, 340, 30));

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


jButton1.setText("Search");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
getContentPane().add(jButton1, new org.netbeans.lib.awtextra.AbsoluteConstraints(800,
160, -1, -1));

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


jButton2.setText("Delete");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});
getContentPane().add(jButton2, new
org.netbeans.lib.awtextra.AbsoluteConstraints(1050, 160, -1, -1));

jTable1.setFont(new java.awt.Font("Futura", 0, 12)); // NOI18N


jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
},
new String [] {
"Name", "Email", "Security Question", "Address"
}
));
jTable1.setGridColor(new java.awt.Color(204, 153, 0));
jScrollPane1.setViewportView(jTable1);

getContentPane().add(jScrollPane1, new
org.netbeans.lib.awtextra.AbsoluteConstraints(242, 220, 900, -1));

jButton4.setIcon(new
javax.swing.ImageIcon(getClass().getResource("/images/EXIT.png"))); // NOI18N
jButton4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton4ActionPerformed(evt);
}
});
getContentPane().add(jButton4, new
org.netbeans.lib.awtextra.AbsoluteConstraints(1180, 40, -1, -1));

jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/admin
page.png"))); // NOI18N
getContentPane().add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -
1, -1));

pack();
setLocationRelativeTo(null);
}// </editor-fold>

private void nameOrEmailActionPerformed(java.awt.event.ActionEvent evt) {

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


int a = JOptionPane.showConfirmDialog(null, "Do you really want to close the
application?", "Select", JOptionPane.YES_NO_OPTION);
if (a == JOptionPane.YES_OPTION) {
System.exit(0);
}
}

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


int selectedRowIndex = jTable1.getSelectedRow();

if (selectedRowIndex != -1) {
String selectedEmailString = jTable1.getValueAt(selectedRowIndex, 1).toString();

try {

String SUrl = "jdbc:mysql://localhost:3307/IA";


String SUser = "root";
String SPass = "";

try (Connection con = DriverManager.getConnection(SUrl, SUser, SPass)) {

String sql = "DELETE FROM reg WHERE Email = ?";


try (PreparedStatement pstmt = con.prepareStatement(sql)) {
pstmt.setString(1, selectedEmailString);

int rowsAffected = pstmt.executeUpdate();

if (rowsAffected > 0) {
JOptionPane.showMessageDialog(null, "Data deleted successfully.");

refreshTable();
} else {
JOptionPane.showMessageDialog(null, "Failed to delete data.");
}
}
}
} catch (Exception e) {
e.printStackTrace();
JOptionPane.showMessageDialog(null, "Error: " + e.getMessage());
}
} else {
JOptionPane.showMessageDialog(null, "Please select a row to delete.");
}
}

private void refreshTable() {

private void formComponentShown(java.awt.event.ComponentEvent evt) {

try {
String SUrl = "jdbc:mysql://localhost:3307/IA";
String SUser = "root";
String SPass = "";

Connection con = DriverManager.getConnection(SUrl, SUser, SPass);

Statement stmt = con.createStatement();

String sql = "SELECT Name, Email, SecQ, Address FROM reg";


ResultSet rs = stmt.executeQuery(sql);

DefaultTableModel model = new DefaultTableModel();

model.addColumn("Name");
model.addColumn("Email");
model.addColumn("SecQ");
model.addColumn("Address");

while (rs.next()) {
Object[] row = new Object[4];

row[0] = rs.getString("Name");
row[1] = rs.getString("Email");
row[2] = rs.getString("SecQ");
row[3] = rs.getString("Address");

model.addRow(row);
}

jTable1.setModel(model);

stmt.close();
con.close();
} catch (Exception e) {
e.printStackTrace();

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


String searchQuery = nameOrEmail.getText().trim();

try {

String SUrl = "jdbc:mysql://localhost:3307/IA";


String SUser = "root";
String SPass = "";

Connection con = DriverManager.getConnection(SUrl, SUser, SPass);

Statement stmt = con.createStatement();

String sql = "SELECT Name, Email, SecQ, Address FROM reg WHERE Name LIKE
'%" + searchQuery + "%' OR Email LIKE '%" + searchQuery + "%'";
ResultSet rs = stmt.executeQuery(sql);

DefaultTableModel model = new DefaultTableModel();

model.addColumn("Name");
model.addColumn("Email");
model.addColumn("SecQ");
model.addColumn("Address");

while (rs.next()) {
Object[] row = new Object[4];

row[0] = rs.getString("Name");
row[1] = rs.getString("Email");
row[2] = rs.getString("SecQ");
row[3] = rs.getString("Address");

model.addRow(row);
}

jTable1.setModel(model);

stmt.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}

public static void main(String args[]) {


java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new adminhome().setVisible(true);
}
});
}

// Variables declaration - do not modify


private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton4;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JPanel jPanel1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;
private javax.swing.JTextField nameOrEmail;
// End of variables declaration
}

You might also like