0% found this document useful (0 votes)
6 views74 pages

Student Data Management System

The document contains Java classes for managing student data, including validation for phone numbers and emails, database operations for reading, inserting, updating, and deleting student records, and exceptions for invalid data. It defines interfaces and classes for student attributes and operations, as well as GUI components for editing student information. The code handles exceptions for invalid email and phone formats, ensuring data integrity in student management applications.

Uploaded by

ptitaaaa
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views74 pages

Student Data Management System

The document contains Java classes for managing student data, including validation for phone numbers and emails, database operations for reading, inserting, updating, and deleting student records, and exceptions for invalid data. It defines interfaces and classes for student attributes and operations, as well as GUI components for editing student information. The code handles exceptions for invalid email and phone formats, ensuring data integrity in student management applications.

Uploaded by

ptitaaaa
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

controller

[Link]
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/[Link] to change this
license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/[Link] to edit this template
*/
package [Link];

import [Link];
import [Link];
import [Link];
import [Link];

/**
*
* @author DELL
*/
public class DataSTInValidException {

public boolean invalidPhone(String phone) throws InValidPhoneException {


String regex = "^[0-9]{10}$";
Pattern p = [Link](regex);
Matcher m = [Link](phone);
if ([Link]()) {
return true;
} else {
throw new InValidPhoneException("Không hợp lệ", phone);
}
}
public boolean invalidEmail(String email) throws InValidEmailException{

String regex = "^[a-zA-Z0-9_]+@[Link]$";


Pattern p = [Link](regex);
Matcher m = [Link](email);
if ([Link]()) {
return true;
} else {
throw new InValidEmailException("Không hợp lệ", email);
}

[Link]
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/[Link] to change this
license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/[Link] to edit this template
*/
package [Link];

import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];

public class DataStudentFuctionImp implements DataStudentFunction {

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");


public databaseConnection dbcon = new databaseConnection();
public MysqlDataSource data = [Link]();

@Override
public void readStudentSQL(ArrayList<Student> listst) {
try ( Connection conn = [Link]() ) {
String sql = "SELECT * FROM student";
PreparedStatement ps = [Link](sql);
ResultSet rs = [Link]();
while ([Link]()) {
String studentId = [Link](1);
String nameS = [Link](2);
String gender = [Link](3);
String birthdayS = [Link](4);
String classRoom = [Link](5);
String address = [Link](6);
String major = [Link](7);
String phone = [Link](8);
String mail = [Link](9);
String password = [Link](10);

Student st = new Student(studentId, classRoom, major, mail,


nameS, [Link](birthdayS), address, phone, gender,password);
[Link](st);
}
} catch (SQLException ex) {
[Link]();
} catch (ParseException ex) {
[Link]();
}
}

@Override
public int insertStudent(Student s) {
try ( Connection conn = [Link]() ) {
String sql = "INSERT INTO Student VALUES(?,?,?,?,?,?,?,?,?,?)";
PreparedStatement ps = [Link](sql);
[Link](1, [Link]());
[Link](2, [Link]());
[Link](3, [Link]());
[Link](4, [Link]([Link]()));
[Link](5, [Link]());
[Link](6, [Link]());
[Link](7, [Link]());
[Link](8, [Link]());
[Link](9, [Link]());
[Link](10,[Link]());
int row = [Link]();
return row;

} catch (SQLException ex) {


[Link]();
}
return -1;
}

@Override
public int updateStudent(Student s) {
try ( Connection conn = [Link]() ) {
String sql = "UPDATE Student SET nameS = ? , gender = ?,"
+ " birthdayS = ?, class = ? , address = ?, marjor = ?,"
+ " phone=?, mail=?, passwd=? WHERE studentId = ?";
PreparedStatement ps = [Link](sql);
[Link](1, [Link]());
[Link](2, [Link]());
[Link](3, [Link]([Link]()));
[Link](4, [Link]());
[Link](5, [Link]());
[Link](6, [Link]());
[Link](7, [Link]());
[Link](8, [Link]());
[Link](9,[Link]());
[Link](10,[Link]());
int row = [Link]();
return row;

} catch (SQLException ex) {


[Link]();
}
return -1;
}
@Override
public int delStudent(Student s) {
try ( Connection conn = [Link]() ) {
String sql = "DELETE FROM student WHERE studentId = ?";
PreparedStatement ps = [Link](sql);
[Link](1, [Link]());
int row = [Link]();
return row;
} catch (SQLException ex) {
[Link]();
}
return -1;
}

@Override
public ArrayList<Student> searchByName (ArrayList<Student> listStudent, String
nameStudent)
{
ArrayList<Student> listSearch = new ArrayList<>();
for ( Student e : listStudent) {
String[] name = [Link]().split("\\s+");
String firstName = name[[Link]-1];
if([Link](nameStudent)) {
[Link](e);
}
}
return listSearch;
}

@Override
public ArrayList<Student> searchByClass (ArrayList<Student> listStudent, String clss)
{
ArrayList<Student> listSearch = new ArrayList<>();
for ( Student e : listStudent) {
if([Link]().equalsIgnoreCase(clss)) {
[Link](e);
}
}
return listSearch;
}

@Override
public Student searchStudentById(ArrayList<Student> listStudent, String studentId)
{
for ( Student e : listStudent) {
if ([Link]().equalsIgnoreCase(studentId)) {
return e;
}
}
return null;
}

[Link]
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/[Link] to change this
license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/[Link] to edit this template
*/
package [Link];

import [Link];
import [Link];

/**
*
* @author DELL
*/
public interface DataStudentFunction {

void readStudentSQL(ArrayList<Student> listst);

int insertStudent(Student s);

int updateStudent(Student s);

int delStudent(Student s);

ArrayList<Student> searchByName(ArrayList<Student> listStudent, String nameStudent);

ArrayList<Student> searchByClass(ArrayList<Student> listStudent, String clss);

Student searchStudentById(ArrayList<Student> listStudent, String studentId);

}
[Link]
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/[Link] to change this
license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/[Link] to edit this template
*/
package [Link];

/**
*
* @author DELL
*/
public class InValidEmailException extends Exception {
private String email;
public InValidEmailException(String email, String message) {
super(message);
[Link] = email;
}

public String getEmail() {


return email;
}

public void setEmail(String email) {


[Link] = email;
}

[Link]
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/[Link] to change this
license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/[Link] to edit this template
*/
package [Link];

/**
*
* @author DELL
*/
public class InValidPhoneException extends Exception{
private String phone;

public InValidPhoneException(String phone, String message) {


super(message);
[Link] = phone;
}

public String getPhone() {


return phone;
}

public void setPhone(String phone) {


[Link] = phone;
}

[Link]
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/[Link] to change this
license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/[Link] to edit this template
*/
package [Link];

//import [Link];
import [Link];
import [Link];

/**
*
* @author DELL
*/
public class Person {

private String name;


private Date dob;
private String address;
private String phone;
private String gender;

public Person() {
}

public Person(String name, Date dob, String address, String phone, String gender) {
[Link] = name;
[Link] = dob;
[Link] = address;
[Link] = phone;
[Link] = gender;
}

public String getName() {


return name;
}

public void setName(String name) {


[Link] = name;
}

public Date getDob() {


return dob;
}

public void setDob(Date dob) {


[Link] = dob;
}

public String getAddress() {


return address;
}

public void setAddress(String address) {


[Link] = address;
}

public String getPhone() {


return phone;
}

public void setPhone(String phone) throws InValidPhoneException {


DataSTInValidException stvalid = new DataSTInValidException();
if([Link](phone)){
[Link] = phone;
}
}
public String getGender() {
return gender;
}

public void setGender(String gender) {


[Link] = gender;
}

[Link]
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/[Link] to change this
license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/[Link] to edit this template
*/
package [Link];

import [Link];
import [Link];
import [Link];

/**
*
* @author DELL
*/
public class Student extends Person {
public static int ID = 1000;
private String studentId;
private String classRoon;
private String major;
private String email;
private String password = "kma123";

public Student() {
}

public Student(String studentId, String classRoon, String major, String email) {


[Link] = studentId;
[Link] = classRoon;
[Link] = major;
[Link] = email;
}

public Student(String studentId, String classRoon, String major, String email,


String name, Date dob,
String address, String phone, String gender, String password) {
super(name, dob, address, phone, gender);
[Link] = studentId;
[Link] = classRoon;
[Link] = major;
[Link] = email;
[Link] = password;
}

public Student(String studentId, String password) {


[Link] = studentId;
[Link] = password;
}

public String getPassword() {


return password;
}

public void setPassword(String password) {


[Link] = password;
}

public Student(String studentId) {


[Link] = studentId;
}

public String getStudentId() {


return studentId;
}

public void setStudentId(String studentId) {


[Link] = studentId;
}

public String getClassRoon() {


return classRoon;
}

public void setClassRoon(String classRoon) {


[Link] = classRoon;
}
public String getMajor() {
return major;
}

public void setMajor(String major) {


[Link] = major;
}

public String getEmail() {


return email;
}

public void setEmail(String email) throws InValidEmailException {


DataSTInValidException sTInValid = new DataSTInValidException();
if ([Link](email)) {
[Link] = email;
}

@Override
public int hashCode() {
int hash = 3;
return hash;
}

@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (getClass() != [Link]()) {
return false;
}
final Student other = (Student) obj;
if (![Link]([Link](), [Link]())) {
return false;
}
return [Link]([Link], [Link]);
}

}
[Link]
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/[Link] to change this
license
* Click nbfs://nbhost/SystemFileSystem/Templates/GUIForms/[Link] to edit this template
*/
package [Link];

import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];

/**
*
* @author DELL
*/
public class EditStudent extends [Link] {

SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");


// private Student student;
private StudentForm sf;

/**
* Creates new form EditStudents
* @param parent
* @param modal
*/
public EditStudent([Link] parent, boolean modal) {
super(parent, modal);
initComponents();
setLocationRelativeTo(null);
sf = (StudentForm) parent;
}

public EditStudent([Link] parent, boolean modal, Student s) {


this(parent, modal);
[Link]([Link]());
[Link]([Link]());
[Link]([Link]());
[Link]([Link]([Link]()));
setComBoBoxClass(s);
[Link]([Link]());
setComBoBoxCategory(s);
[Link]([Link]());
[Link]([Link]());
[Link]([Link]());

private void setComBoBoxCategory(Student s) {


int size = [Link]();
for (int i = 0; i < size; i++) {
if ([Link]().compareTo([Link](i)) == 0) {
[Link](i);
break;
}
}

/**
* 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() {

btnUpdate = new [Link]();


jLabel1 = new [Link]();
btnClose = new [Link]();
jPanel1 = new [Link]();
jLabel2 = new [Link]();
jLabel3 = new [Link]();
jLabel4 = new [Link]();
jLabel5 = new [Link]();
txtStudentId = new [Link]();
txtGender = new [Link]();
txtDob = new [Link]();
txtName = new [Link]();
txtPhoneNum = new [Link]();
txtEmail = new [Link]();
txtAddress = new [Link]();
txtPassword = new [Link]();
jLabel6 = new [Link]();
jLabel7 = new [Link]();
jLabel8 = new [Link]();
jLabel9 = new [Link]();
jLabel10 = new [Link]();
jLabel11 = new [Link]();
comboBoxMajor = new [Link]<>();
comboboxClass = new [Link]<>();
setDefaultCloseOperation([Link].DISPOSE_ON_CLOSE);

[Link](new [Link]("Times New Roman", 0, 18)); // NOI18N


[Link]("Cập Nhật");
[Link](new [Link]() {
public void actionPerformed([Link] evt) {
btnUpdateActionPerformed(evt);
}
});

[Link](new [Link]("Times New Roman", 1, 36)); // NOI18N


[Link]([Link]);
[Link]("Sửa Thông Tin Sinh Viên");

[Link](new [Link]("Times New Roman", 0, 18)); // NOI18N


[Link]("Hủy");
[Link](new [Link]() {
public void actionPerformed([Link] evt) {
btnCloseActionPerformed(evt);
}
});

[Link]([Link]("Thông Tin Sinh Viên"));

[Link](new [Link]("Times New Roman", 0, 18)); // NOI18N


[Link]("Giới tính");

[Link](new [Link]("Times New Roman", 0, 18)); // NOI18N


[Link]("Tên SV");
[Link](new [Link]("Times New Roman", 0, 18)); // NOI18N
[Link]("Mã SV");

[Link](new [Link]("Times New Roman", 0, 18)); // NOI18N


[Link]("Ngày sinh");

[Link](false);
[Link](new [Link]("Times New Roman", 0, 18)); // NOI18N

[Link](new [Link]("Times New Roman", 0, 18)); // NOI18N

[Link](new [Link]("Times New Roman", 0, 18)); // NOI18N

[Link](new [Link]("Times New Roman", 0, 18)); // NOI18N

[Link](new [Link]("Times New Roman", 0, 18)); // NOI18N

[Link](new [Link]("Times New Roman", 0, 18)); // NOI18N


[Link](new [Link]() {
public void actionPerformed([Link] evt) {
txtEmailActionPerformed(evt);
}
});

[Link](new [Link]("Times New Roman", 0, 18)); // NOI18N

[Link](new [Link]("Times New Roman", 0, 18)); // NOI18N


[Link](new [Link]() {
public void actionPerformed([Link] evt) {
txtPasswordActionPerformed(evt);
}
});

[Link](new [Link]("Times New Roman", 0, 18)); // NOI18N


[Link]("SĐT");

[Link](new [Link]("Times New Roman", 0, 18)); // NOI18N


[Link]("Password");

[Link](new [Link]("Times New Roman", 0, 18)); // NOI18N


[Link]("Email");

[Link](new [Link]("Times New Roman", 0, 18)); // NOI18N


[Link]("Lớp");

[Link](new [Link]("Times New Roman", 0, 18)); // NOI18N


[Link]("Địa chỉ");

[Link](new [Link]("Times New Roman", 0, 18)); // NOI18N


[Link]("Chuyên ngành");

[Link](new [Link]("Times New Roman", 0, 18)); // NOI18N


[Link](new [Link]<>(new String[]
{ "Công nghệ thông tin", "An toàn thông tin", "Điện Tử Viễn Thông" }));
[Link](new [Link]() {
public void actionPerformed([Link] evt) {
comboBoxMajorActionPerformed(evt);
}
});
[Link](new [Link]("Times New Roman", 0, 18)); // NOI18N
[Link](new [Link]<>(new String[]
{ "AT17A", "AT17B", "AT17C", "CT5A", "CT5B", "CT5C", "DT4A", "DT4B" }));
[Link](-1);

[Link] jPanel1Layout = new [Link](jPanel1);


[Link](jPanel1Layout);
[Link](
[Link]([Link])
.addGroup([Link]()
.addGroup([Link]([Link].L
EADING)
.addGroup([Link]()
.addGroup([Link]([Link]
[Link])
.addComponent(jLabel4, [Link].PREFERRED_SIZE, 95,
[Link].PREFERRED_SIZE)
.addComponent(jLabel2, [Link].PREFERRED_SIZE, 95,
[Link].PREFERRED_SIZE))
.addPreferredGap([Link], 27,
Short.MAX_VALUE)
.addGroup([Link]([Link]
[Link])
.addComponent(txtGender, [Link],
[Link].PREFERRED_SIZE, 393,
[Link].PREFERRED_SIZE)
.addComponent(txtStudentId,
[Link],
[Link].PREFERRED_SIZE, 393,
[Link].PREFERRED_SIZE)))
.addGroup([Link]()
.addComponent(jLabel3, [Link].PREFERRED_SIZE, 95,
[Link].PREFERRED_SIZE)
.addPreferredGap([Link],
[Link].DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(txtName, [Link].PREFERRED_SIZE, 393,
[Link].PREFERRED_SIZE))
.addGroup([Link]()
.addComponent(jLabel9, [Link].PREFERRED_SIZE, 95,
[Link].PREFERRED_SIZE)
.addGap(27, 27, 27)
.addComponent(comboboxClass, 0, [Link].DEFAULT_SIZE,
Short.MAX_VALUE))
.addGroup([Link],
[Link]()
.addGroup([Link]([Link]
[Link])
.addComponent(jLabel6, [Link].PREFERRED_SIZE, 95,
[Link].PREFERRED_SIZE)
.addComponent(jLabel8, [Link].PREFERRED_SIZE, 95,
[Link].PREFERRED_SIZE)
.addComponent(jLabel7, [Link].PREFERRED_SIZE, 95,
[Link].PREFERRED_SIZE)
.addComponent(jLabel10, [Link].PREFERRED_SIZE, 95,
[Link].PREFERRED_SIZE)
.addComponent(jLabel11, [Link].DEFAULT_SIZE,
[Link].DEFAULT_SIZE, Short.MAX_VALUE))
.addGap(18, 18, 18)
.addGroup([Link]([Link]
[Link], false)
.addComponent(txtAddress)
.addComponent(txtEmail)
.addComponent(txtPassword)
.addComponent(txtPhoneNum)
.addComponent(comboBoxMajor, 0, 393, Short.MAX_VALUE)))
.addGroup([Link]()
.addComponent(jLabel5, [Link].PREFERRED_SIZE, 95,
[Link].PREFERRED_SIZE)
.addPreferredGap([Link],
[Link].DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(txtDob, [Link].PREFERRED_SIZE, 393,
[Link].PREFERRED_SIZE)))
.addContainerGap())
);
[Link](
[Link]([Link])
.addGroup([Link]()
.addContainerGap([Link].DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup([Link]([Link].B
ASELINE)
.addComponent(txtStudentId, [Link].PREFERRED_SIZE,
[Link].DEFAULT_SIZE, [Link].PREFERRED_SIZE)
.addComponent(jLabel4))
.addPreferredGap([Link])
.addGroup([Link]([Link].B
ASELINE)
.addComponent(txtName, [Link].PREFERRED_SIZE,
[Link].DEFAULT_SIZE, [Link].PREFERRED_SIZE)
.addComponent(jLabel3))
.addGroup([Link]([Link].L
EADING)
.addGroup([Link]()
.addGap(19, 19, 19)
.addComponent(jLabel2))
.addGroup([Link],
[Link]()
.addPreferredGap([Link])
.addComponent(txtGender, [Link].PREFERRED_SIZE,
[Link].DEFAULT_SIZE, [Link].PREFERRED_SIZE)))
.addPreferredGap([Link])
.addGroup([Link]([Link].B
ASELINE)
.addComponent(jLabel5)
.addComponent(txtDob, [Link].PREFERRED_SIZE,
[Link].DEFAULT_SIZE, [Link].PREFERRED_SIZE))
.addPreferredGap([Link])
.addGroup([Link]([Link].B
ASELINE)
.addComponent(jLabel9)
.addComponent(comboboxClass, [Link].PREFERRED_SIZE,
[Link].DEFAULT_SIZE, [Link].PREFERRED_SIZE))
.addPreferredGap([Link])
.addGroup([Link]([Link].B
ASELINE)
.addComponent(txtAddress, [Link].PREFERRED_SIZE,
[Link].DEFAULT_SIZE, [Link].PREFERRED_SIZE)
.addComponent(jLabel10))
.addPreferredGap([Link])
.addGroup([Link]([Link].L
EADING)
.addComponent(jLabel11)
.addComponent(comboBoxMajor, [Link].PREFERRED_SIZE,
28, [Link].PREFERRED_SIZE))
.addPreferredGap([Link])
.addGroup([Link]([Link].B
ASELINE)
.addComponent(txtPhoneNum, [Link].PREFERRED_SIZE,
[Link].DEFAULT_SIZE, [Link].PREFERRED_SIZE)
.addComponent(jLabel6))
.addPreferredGap([Link])
.addGroup([Link]([Link].B
ASELINE)
.addComponent(txtEmail, [Link].PREFERRED_SIZE,
[Link].DEFAULT_SIZE, [Link].PREFERRED_SIZE)
.addComponent(jLabel8))
.addPreferredGap([Link])
.addGroup([Link]([Link].B
ASELINE)
.addComponent(txtPassword, [Link].PREFERRED_SIZE,
[Link].DEFAULT_SIZE, [Link].PREFERRED_SIZE)
.addComponent(jLabel7))
.addGap(14, 14, 14))
);

[Link] layout = new [Link](getContentPane());


getContentPane().setLayout(layout);
[Link](
[Link]([Link])
.addComponent(jLabel1, [Link].DEFAULT_SIZE,
[Link].DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup([Link]()
.addGap(73, 73, 73)
.addComponent(btnUpdate, [Link].PREFERRED_SIZE, 123,
[Link].PREFERRED_SIZE)
.addPreferredGap([Link],
[Link].DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(btnClose, [Link].PREFERRED_SIZE, 123,
[Link].PREFERRED_SIZE)
.addGap(111, 111, 111))
.addGroup([Link]()
.addContainerGap()
.addComponent(jPanel1, [Link].DEFAULT_SIZE,
[Link].DEFAULT_SIZE, Short.MAX_VALUE)
.addContainerGap())
);
[Link](
[Link]([Link])
.addGroup([Link]()
.addContainerGap()
.addComponent(jLabel1)
.addPreferredGap([Link])
.addComponent(jPanel1, [Link].DEFAULT_SIZE,
[Link].DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap([Link])
.addGroup([Link]([Link]
E)
.addComponent(btnUpdate)
.addComponent(btnClose))
.addGap(28, 28, 28))
);

pack();
}// </editor-fold>//GEN-END:initComponents

private void btnUpdateActionPerformed([Link] evt) {//GEN-


FIRST:event_btnUpdateActionPerformed

if (validateForm()) {
try {
Date dateNow = new Date();
Date d = [Link]([Link]());
if ([Link]() < [Link]()) {
boolean flag = checkpasswd();
if(flag){
Student st = new Student();
[Link]([Link]());
[Link]([Link]());
[Link]([Link]().toString());
[Link]([Link]());
[Link]([Link]());
[Link]([Link]().toString());
[Link]([Link]());
[Link]([Link]());
[Link]([Link]());
[Link](d);
[Link](st);
[Link](rootPane, "sửa thành công");
[Link]();

}else{
[Link](rootPane,
"mật khẩu tối thiểu 6 kí tự");

}
} else {
[Link](rootPane,
"ngày sinh phải nhỏ hơn ngày hiện tại!");
}

} catch (ParseException ex) {


[Link](rootPane, "vui lòng nhập đúng "
+ "định dạng ngày sinh (vd: 22/11/2002)");
} catch (InValidPhoneException ex) {
[Link](rootPane, "số điện thoại không hợp lệ");
} catch (InValidEmailException ex) {
[Link](rootPane, "định dạng email không hợp lệ");

}
} else {
[Link](rootPane, "thông tin không hợp lệ");
}
}//GEN-LAST:event_btnUpdateActionPerformed

private void btnCloseActionPerformed([Link] evt) {//GEN-


FIRST:event_btnCloseActionPerformed
[Link]();
}//GEN-LAST:event_btnCloseActionPerformed

private void txtEmailActionPerformed([Link] evt) {//GEN-


FIRST:event_txtEmailActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_txtEmailActionPerformed

private void txtPasswordActionPerformed([Link] evt) {//GEN-


FIRST:event_txtPasswordActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_txtPasswordActionPerformed

private void comboBoxMajorActionPerformed([Link] evt) {//GEN-


FIRST:event_comboBoxMajorActionPerformed
String studentId = [Link]();
String[] name = [Link]("(AT17|CT05|DT04)");
int id = [Link](name[1]);
switch ([Link]()) {
case 0 -> [Link]("CT05" + id);
case 1 -> [Link]("AT17" + id);
case 2 -> [Link]("DT04" + id);
default -> {
}
}

}//GEN-LAST:event_comboBoxMajorActionPerformed

/**
* @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 [Link]
*/
try {
for ([Link] info :
[Link]()) {
if ("Nimbus".equals([Link]())) {
[Link]([Link]());
break;
}
}
} catch (ClassNotFoundException ex) {

[Link]([Link]()).log([Link]
ERE, null, ex);
} catch (InstantiationException ex) {
[Link]([Link]()).log([Link]
ERE, null, ex);
} catch (IllegalAccessException ex) {

[Link]([Link]()).log([Link]
ERE, null, ex);
} catch ([Link] ex) {

[Link]([Link]()).log([Link]
ERE, null, ex);
}
//</editor-fold>
//</editor-fold>

/* Create and display the dialog */


[Link](new Runnable() {
public void run() {
EditStudent dialog = new EditStudent(new [Link](), true);
[Link](new [Link]() {
@Override
public void windowClosing([Link] e) {
[Link](0);
}
});
[Link](true);
}
});
}

public boolean validateForm() {


return ![Link]().isEmpty() && ![Link]().isEmpty()
&& ![Link]().isEmpty() && ![Link]().isEmpty()
&& ![Link]().isEmpty() && [Link]() != null
&& ![Link]().isEmpty() && ![Link]().isEmpty()
&& ![Link]().isEmpty() && [Link]() != null;
}

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


private [Link] btnClose;
private [Link] btnUpdate;
private [Link]<String> comboBoxMajor;
private [Link]<String> comboboxClass;
private [Link] jLabel1;
private [Link] jLabel10;
private [Link] jLabel11;
private [Link] jLabel2;
private [Link] jLabel3;
private [Link] jLabel4;
private [Link] jLabel5;
private [Link] jLabel6;
private [Link] jLabel7;
private [Link] jLabel8;
private [Link] jLabel9;
private [Link] jPanel1;
private [Link] txtAddress;
private [Link] txtDob;
private [Link] txtEmail;
private [Link] txtGender;
private [Link] txtName;
private [Link] txtPassword;
private [Link] txtPhoneNum;
private [Link] txtStudentId;
// End of variables declaration//GEN-END:variables

private void setComBoBoxClass(Student s) {


int size = [Link]();
for (int i = 0; i < size; i++) {
if ([Link]().equalsIgnoreCase([Link](i))) {
[Link](i);
break;

}
}

private boolean checkpasswd() {


String[] passwd = [Link]().split("");
return [Link] >= 6;
}
}

[Link]
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package [Link];

import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];

/**
*
* @author DAI THE
*/
public class StudentForm extends [Link] {

SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");


private ArrayList<Student> listStudent;
private int stt;
public int edit;
private DataStudentFuctionImp dataImplement;
private DefaultTableModel tableModel;
private Employee emp;
/**
* Creates new form StudentForm
*/
public StudentForm() {
initComponents();
setLocationRelativeTo(null);
edit = -1;
dataImplement = new DataStudentFuctionImp();
addGroup();
listStudent = new ArrayList<>();
tableModel = (DefaultTableModel) [Link]();
[Link](listStudent);
stt = [Link]() + 1;
setID();
showListStudent();
}

public StudentForm(Employee e) {
this();
emp = e;
}

/**
* 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() {

buttonGroupSearchST = new [Link]();


buttonGroupGender = new [Link]();
jScrollPane1 = new [Link]();
tbStudent = new [Link]();
jPanel1 = new [Link]();
btnSeachByNameStudent = new [Link]();
btnSeachByStudentId = new [Link]();
btnSeachByClass = new [Link]();
txtSearch = new [Link]();
btnSearch = new [Link]();
jPanel3 = new [Link]();
btnAdd = new [Link]();
btnUpdate = new [Link]();
btnRemove = new [Link]();
btnRefresh = new [Link]();
jPanel2 = new [Link]();
LabelBookId = new [Link]();
LabeBookName = new [Link]();
LabelCategory = new [Link]();
labelAuthor = new [Link]();
LabelProducer = new [Link]();
LabelPrice = new [Link]();
LabelCount = new [Link]();
txtStudentId = new [Link]();
txtName = new [Link]();
txtAddress = new [Link]();
comboboxCategory = new [Link]<>();
jLabel1 = new [Link]();
txtEmail = new [Link]();
txtSdt = new [Link]();
jLabel2 = new [Link]();
txtDob = new [Link]();
rbtnBoy = new [Link]();
rbtnGirl = new [Link]();
comboboxClass = new [Link]<>();
jMenuBar1 = new [Link]();
jMenu1 = new [Link]();
jMenuItem1 = new [Link]();
jSeparator1 = new [Link]();
jMenuItem2 = new [Link]();

setDefaultCloseOperation([Link].EXIT_ON_CLOSE);
setResizable(false);

[Link](new [Link]("Times New Roman", 0, 14)); // NOI18N


[Link](new [Link](
new Object [][] {

},
new String [] {
"STT", "Mã SV", "Tên SV", "Giới tính", "Ngày sinh", "Lớp", "Địa chỉ",
"Chuyên ngành", "SĐT", "Email", "Password"
}
){
boolean[] canEdit = new boolean [] {
false, false, false, false, false, false, false, false, false, false, false
};

public boolean isCellEditable(int rowIndex, int columnIndex) {


return canEdit [columnIndex];
}
});
[Link](tbStudent);
if ([Link]().getColumnCount() > 0) {
[Link]().getColumn(0).setMaxWidth(40);
[Link]().getColumn(3).setMaxWidth(60);
[Link]().getColumn(5).setMaxWidth(60);
[Link]().getColumn(10).setMinWidth(62);
}

[Link]([Link](null, "Tìm Kiếm",


[Link].DEFAULT_JUSTIFICATION,
[Link].DEFAULT_POSITION, new [Link]("Tahoma", 0,
12))); // NOI18N

[Link](new [Link]("Times New Roman", 0, 14)); //


NOI18N
[Link]("Tìm Kiếm Theo Tên Sinh Viên");
[Link](new [Link]() {
public void actionPerformed([Link] evt) {
btnSeachByNameStudentActionPerformed(evt);
}
});

[Link](new [Link]("Times New Roman", 0, 14)); //


NOI18N
[Link]("Tìm Kiếm Theo Mã Sinh Viên");
[Link](new [Link]("Times New Roman", 0, 14)); // NOI18N
[Link]("Tìm Kiếm Theo Lớp");

[Link](new [Link]("Times New Roman", 0, 14)); // NOI18N


[Link]([Link]);

[Link](new [Link]("Times New Roman", 0, 14)); // NOI18N


[Link](new
[Link](getClass().getResource("/image/[Link]"))); // NOI18N
[Link]("Tìm Kiếm");
[Link](new
[Link]([Link]));
[Link](new [Link]([Link].HAND_CURSOR));
[Link](new [Link]() {
public void actionPerformed([Link] evt) {
btnSearchActionPerformed(evt);
}
});

[Link] jPanel1Layout = new [Link](jPanel1);


[Link](jPanel1Layout);
[Link](

[Link]([Link])
.addGroup([Link]()
.addGap(18, 18, 18)
.addGroup([Link]([Link]
[Link])
.addComponent(btnSeachByClass)
.addComponent(btnSeachByStudentId)
.addComponent(btnSeachByNameStudent))
.addPreferredGap([Link], 97,
Short.MAX_VALUE)
.addComponent(txtSearch, [Link].PREFERRED_SIZE, 635,
[Link].PREFERRED_SIZE)
.addGap(73, 73, 73)
.addComponent(btnSearch, [Link].PREFERRED_SIZE, 125,
[Link].PREFERRED_SIZE)
.addContainerGap())
);
[Link](

[Link]([Link])
.addGroup([Link]()
.addContainerGap([Link].DEFAULT_SIZE,
Short.MAX_VALUE)
.addGroup([Link]([Link]
[Link])
.addComponent(txtSearch, [Link].PREFERRED_SIZE, 44,
[Link].PREFERRED_SIZE)
.addComponent(btnSearch))
.addGap(44, 44, 44))
.addGroup([Link]()
.addComponent(btnSeachByNameStudent)
.addPreferredGap([Link])
.addComponent(btnSeachByStudentId)
.addPreferredGap([Link])
.addComponent(btnSeachByClass)
.addGap(0, 0, Short.MAX_VALUE))
);
[Link]([Link](null, "Chức Năng",
[Link].DEFAULT_JUSTIFICATION,
[Link].DEFAULT_POSITION, new [Link]("Tahoma", 0,
12))); // NOI18N

[Link](new [Link]("Times New Roman", 0, 14)); // NOI18N


[Link](new [Link](getClass().getResource("/image/add-user
(1).png"))); // NOI18N
[Link]("Thêm");
[Link](new
[Link]([Link]));
[Link](new [Link]([Link].HAND_CURSOR));
[Link](new [Link]() {
public void actionPerformed([Link] evt) {
btnAddActionPerformed(evt);
}
});

[Link](new [Link]("Times New Roman", 0, 14)); // NOI18N


[Link](new
[Link](getClass().getResource("/image/[Link]"))); // NOI18N
[Link]("Sửa");
[Link](new
[Link]([Link]));
[Link](new [Link]([Link].HAND_CURSOR));
[Link](new [Link]() {
public void actionPerformed([Link] evt) {
btnUpdateActionPerformed(evt);
}
});

[Link](new [Link]("Times New Roman", 0, 14)); // NOI18N


[Link](new [Link](getClass().getResource("/image/delete-
[Link]"))); // NOI18N
[Link]("Xóa");
[Link](new
[Link]([Link]));
[Link](new [Link]([Link].HAND_CURSOR));
[Link](new [Link]() {
public void actionPerformed([Link] evt) {
btnRemoveActionPerformed(evt);
}
});

[Link](new [Link]("Times New Roman", 0, 14)); // NOI18N


[Link](new
[Link](getClass().getResource("/image/[Link]"))); // NOI18N
[Link]("Làm Mới");
[Link](new
[Link]([Link]));
[Link](new [Link]([Link].HAND_CURSOR));
[Link](new [Link]() {
public void actionPerformed([Link] evt) {
btnRefreshActionPerformed(evt);
}
});

[Link] jPanel3Layout = new [Link](jPanel3);


[Link](jPanel3Layout);
[Link](

[Link]([Link])
.addGroup([Link]()
.addGap(31, 31, 31)
.addComponent(btnAdd, [Link].PREFERRED_SIZE, 156,
[Link].PREFERRED_SIZE)
.addGap(125, 125, 125)
.addComponent(btnUpdate, [Link].PREFERRED_SIZE, 140,
[Link].PREFERRED_SIZE)
.addGap(150, 150, 150)
.addComponent(btnRemove, [Link].PREFERRED_SIZE, 133,
[Link].PREFERRED_SIZE)
.addPreferredGap([Link],
[Link].DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(btnRefresh, [Link].PREFERRED_SIZE, 148,
[Link].PREFERRED_SIZE)
.addGap(100, 100, 100))
);
[Link](

[Link]([Link])
.addGroup([Link],
[Link]()
.addContainerGap(26, Short.MAX_VALUE)
.addGroup([Link]([Link]
[Link])
.addComponent(btnAdd)
.addComponent(btnUpdate)
.addComponent(btnRemove)
.addComponent(btnRefresh))
.addContainerGap())
);

[Link]([Link](null, "Thông Tin


Sinh Viên", [Link].DEFAULT_JUSTIFICATION,
[Link].DEFAULT_POSITION, new [Link]("Tahoma", 0,
12))); // NOI18N

[Link](new [Link]("Times New Roman", 0, 14)); // NOI18N


[Link]("Mã SV");

[Link](new [Link]("Times New Roman", 0, 14)); // NOI18N


[Link]("Tên SV");

[Link](new [Link]("Times New Roman", 0, 14)); // NOI18N


[Link]("Chuyên ngành");

[Link](new [Link]("Times New Roman", 0, 14)); // NOI18N


[Link]("Giới tính");

[Link](new [Link]("Times New Roman", 0, 14)); // NOI18N


[Link]("Địa chỉ");

[Link](new [Link]("Times New Roman", 0, 14)); // NOI18N


[Link]("Lớp");

[Link](new [Link]("Times New Roman", 0, 14)); // NOI18N


[Link]("Email");

[Link](false);
[Link](new [Link]("Times New Roman", 0, 14)); // NOI18N

[Link](new [Link]("Times New Roman", 0, 14)); // NOI18N


[Link](new [Link]() {
public void actionPerformed([Link] evt) {
txtNameActionPerformed(evt);
}
});

[Link](new [Link]("Times New Roman", 0, 14)); // NOI18N

[Link](new [Link]("Times New Roman", 0, 14)); //


NOI18N
[Link](new [Link]<>(new
String[] { "Công Nghệ Thông Tin", "An Toàn Thông Tin", "Điện Tử Viễn Thông" }));
[Link](-1);
[Link](new [Link]() {
public void actionPerformed([Link] evt) {
comboboxCategoryActionPerformed(evt);
}
});

[Link](new [Link]("Times New Roman", 0, 14)); // NOI18N


[Link]("Số ĐT");

[Link](new [Link]("Times New Roman", 0, 14)); // NOI18N

[Link](new [Link]("Times New Roman", 0, 14)); // NOI18N

[Link](new [Link]("Times New Roman", 0, 14)); // NOI18N


[Link]("Ngày sinh");

[Link](new [Link]("Times New Roman", 0, 14)); // NOI18N

[Link](new [Link]("Times New Roman", 0, 12)); // NOI18N


[Link]("Nam");

[Link](new [Link]("Times New Roman", 0, 12)); // NOI18N


[Link]("Nữ");

[Link](new [Link]("Segoe UI", 0, 14)); // NOI18N


[Link](new [Link]<>(new String[]
{ "AT17A", "AT17B", "AT17C", "CT5A", "CT5B", "CT5C", "DT4A", "DT4B" }));
[Link](-1);

[Link] jPanel2Layout = new [Link](jPanel2);


[Link](jPanel2Layout);
[Link](

[Link]([Link])
.addGroup([Link]()
.addGap(29, 29, 29)
.addGroup([Link]([Link]
[Link])
.addGroup([Link]()
.addComponent(LabelBookId,
[Link].PREFERRED_SIZE, 96,
[Link].PREFERRED_SIZE)
.addGap(31, 31, 31)
.addComponent(txtStudentId,
[Link].PREFERRED_SIZE, 393,
[Link].PREFERRED_SIZE))
.addGroup([Link]()
.addGroup([Link]([Link]
[Link])
.addComponent(LabeBookName,
[Link].PREFERRED_SIZE, 96,
[Link].PREFERRED_SIZE)
.addComponent(labelAuthor,
[Link].PREFERRED_SIZE, 96,
[Link].PREFERRED_SIZE)
.addComponent(LabelCategory,
[Link].PREFERRED_SIZE, 96,
[Link].PREFERRED_SIZE))
.addGap(31, 31, 31)
.addGroup([Link]([Link]
[Link], false)
.addComponent(txtName, [Link].DEFAULT_SIZE,
393, Short.MAX_VALUE)
.addComponent(comboboxCategory, 0, 393, Short.MAX_VALUE)
.addComponent(txtDob)
.addGroup([Link]()
.addComponent(rbtnBoy)
.addGap(41, 41, 41)
.addComponent(rbtnGirl,
[Link].PREFERRED_SIZE, 59,
[Link].PREFERRED_SIZE))))
.addComponent(jLabel2))
.addGap(68, 68, 68)
.addGroup([Link]([Link]
[Link], false)
.addComponent(LabelCount, [Link].DEFAULT_SIZE, 105,
Short.MAX_VALUE)
.addComponent(LabelProducer, [Link].DEFAULT_SIZE,
105, Short.MAX_VALUE)
.addComponent(LabelPrice, [Link].PREFERRED_SIZE,
96, [Link].PREFERRED_SIZE)
.addComponent(jLabel1, [Link].DEFAULT_SIZE,
[Link].DEFAULT_SIZE, Short.MAX_VALUE))
.addGap(32, 32, 32)
.addGroup([Link]([Link]
[Link], false)
.addComponent(txtAddress, [Link].DEFAULT_SIZE, 393,
Short.MAX_VALUE)
.addComponent(txtEmail)
.addComponent(txtSdt)
.addComponent(comboboxClass, 0,
[Link].DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap([Link].DEFAULT_SIZE,
Short.MAX_VALUE))
);
[Link](

[Link]([Link])
.addGroup([Link]()
.addContainerGap()
.addGroup([Link]([Link]
[Link])
.addComponent(LabelBookId)
.addComponent(txtStudentId, [Link].PREFERRED_SIZE,
[Link].DEFAULT_SIZE,
[Link].PREFERRED_SIZE)
.addComponent(LabelProducer)
.addComponent(txtAddress, [Link].PREFERRED_SIZE,
[Link].DEFAULT_SIZE,
[Link].PREFERRED_SIZE))
.addPreferredGap([Link])
.addGroup([Link]([Link]
[Link])
.addComponent(txtName, [Link].PREFERRED_SIZE,
[Link].DEFAULT_SIZE,
[Link].PREFERRED_SIZE)
.addComponent(LabeBookName)
.addComponent(LabelPrice)
.addComponent(comboboxClass,
[Link].PREFERRED_SIZE,
[Link].DEFAULT_SIZE,
[Link].PREFERRED_SIZE))
.addGap(14, 14, 14)
.addGroup([Link]([Link]
[Link])
.addComponent(LabelCategory)
.addComponent(comboboxCategory,
[Link].PREFERRED_SIZE,
[Link].DEFAULT_SIZE,
[Link].PREFERRED_SIZE)
.addComponent(LabelCount)
.addComponent(txtEmail, [Link].PREFERRED_SIZE,
[Link].DEFAULT_SIZE,
[Link].PREFERRED_SIZE))
.addPreferredGap([Link])
.addGroup([Link]([Link]
[Link])
.addGroup([Link]([Link]
[Link])
.addComponent(labelAuthor)
.addComponent(rbtnBoy)
.addComponent(rbtnGirl))
.addGroup([Link]([Link]
[Link])
.addComponent(jLabel1)
.addComponent(txtSdt, [Link].PREFERRED_SIZE,
[Link].DEFAULT_SIZE,
[Link].PREFERRED_SIZE)))
.addPreferredGap([Link])
.addGroup([Link]([Link]
[Link])
.addComponent(jLabel2, [Link].PREFERRED_SIZE, 22,
[Link].PREFERRED_SIZE)
.addComponent(txtDob, [Link].PREFERRED_SIZE,
[Link].DEFAULT_SIZE,
[Link].PREFERRED_SIZE))
.addContainerGap([Link].DEFAULT_SIZE,
Short.MAX_VALUE))
);

[Link](new [Link](getClass().getResource("/image/setting
(1).png"))); // NOI18N
[Link]("Hệ Thống");

[Link]([Link]([Link].
VK_A, [Link].CTRL_DOWN_MASK));
[Link](new
[Link](getClass().getResource("/image/[Link]"))); // NOI18N
[Link]("Thoát");
[Link](new [Link]() {
public void actionPerformed([Link] evt) {
jMenuItem1ActionPerformed(evt);
}
});
[Link](jMenuItem1);
[Link](jSeparator1);

[Link]([Link]([Link].
VK_X, [Link].CTRL_DOWN_MASK));
[Link](new
[Link](getClass().getResource("/image/[Link]"))); // NOI18N
[Link]("Đăng Xuất");
[Link](new [Link]() {
public void actionPerformed([Link] evt) {
jMenuItem2ActionPerformed(evt);
}
});
[Link](jMenuItem2);

[Link](jMenu1);

setJMenuBar(jMenuBar1);

[Link] layout = new [Link](getContentPane());


getContentPane().setLayout(layout);
[Link](
[Link]([Link])
.addComponent(jPanel1, [Link].DEFAULT_SIZE,
[Link].DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel2, [Link].DEFAULT_SIZE,
[Link].DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel3, [Link].DEFAULT_SIZE,
[Link].DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jScrollPane1, [Link])
);
[Link](
[Link]([Link])
.addGroup([Link]()
.addContainerGap()
.addComponent(jPanel1, [Link].PREFERRED_SIZE, 114,
[Link].PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jPanel2, [Link].PREFERRED_SIZE,
[Link].DEFAULT_SIZE,
[Link].PREFERRED_SIZE)
.addPreferredGap([Link])
.addComponent(jScrollPane1, [Link].PREFERRED_SIZE,
130, [Link].PREFERRED_SIZE)
.addPreferredGap([Link])
.addComponent(jPanel3, [Link].PREFERRED_SIZE,
[Link].DEFAULT_SIZE,
[Link].PREFERRED_SIZE)
.addGap(0, 0, Short.MAX_VALUE))
);

[Link]().setAccessibleDescription("");

pack();
}// </editor-fold>//GEN-END:initComponents

public boolean validateForm() {


return ![Link]().isEmpty() && ![Link]().isEmpty()
&& checkGender() && ![Link]().isEmpty()
&& ![Link]().isEmpty() && [Link]() !=
null
&& ![Link]().isEmpty() && ![Link]().isEmpty()
&& [Link]() != null;
}

private void resetForm() {


[Link]("");
[Link]("");
[Link]("");
[Link]("");
[Link](-1);
[Link]("");
[Link]("");
[Link](-1);
[Link](false);
[Link](false);
}

private void btnSeachByNameStudentActionPerformed([Link] evt)


{//GEN-FIRST:event_btnSeachByNameStudentActionPerformed

}//GEN-LAST:event_btnSeachByNameStudentActionPerformed

private void showListSeachStudent(ArrayList<Student> listSearch) {


int stt = 1;
[Link](0);
for ( Student e : listSearch) {
Object[] row = new Object[]{stt++, [Link](), [Link](),
[Link](), [Link]([Link]()), [Link](), [Link](),
[Link](), [Link](), [Link](), [Link]()};
[Link](row);
[Link]();
}
}

private void showSearchStudent(Student e) {


int stt = 1;
[Link](0);
Object[] row = new Object[]{stt++, [Link](), [Link](),
[Link](), [Link]([Link]()), [Link](), [Link](),
[Link](), [Link](), [Link](), [Link]()};
[Link](row);
[Link]();
}
private void btnSearchActionPerformed([Link] evt) {//GEN-
FIRST:event_btnSearchActionPerformed
ArrayList<Student> listSearch = new ArrayList<>();
if ([Link]() || [Link]()
|| [Link]()) {
String search = [Link]();
if (![Link]()) {
if ([Link]()) {
listSearch = [Link](listStudent, search);
if (![Link]()) {
showListSeachStudent(listSearch);
} else {
[Link](rootPane, "không tìm thấy tên lớp tương
ứng!");
}
} else if ([Link]()) {
Student searchStudent = [Link](listStudent,
search);
if (searchStudent != null) {
showSearchStudent(searchStudent);
} else {
[Link](rootPane, "không tìm thấy mã sinh vien
tuong ung");
}
} else if ([Link]()) {
listSearch = [Link](listStudent, search);
if (![Link]()) {
showListSeachStudent(listSearch);
} else {
[Link](rootPane, "không tìm thấy tên sinh vien
tuong ung!");
}
}
[Link]("");
[Link](false);
[Link](false);
[Link](false);

} else {
[Link](rootPane, "ô tìm kiếm đang rỗng!");
}

} else {
[Link](rootPane, "vui lòng chọn chức năng tìm kiếm");
}
}//GEN-LAST:event_btnSearchActionPerformed

private void btnAddActionPerformed([Link] evt) {//GEN-


FIRST:event_btnAddActionPerformed
if (validateForm()) {
try {
Date dateNow = new Date();
Date d = [Link]([Link]());
if([Link]() < [Link]()){
Student s = new Student();
[Link](d);
[Link]([Link]());
[Link]([Link]());
[Link]([Link]().toString());
takeGender(s);
[Link]([Link]());
[Link]([Link]().toString());
[Link]([Link]());
[Link]([Link]());
[Link](s);
[Link]++;
[Link](s);
addTableModle(s);
resetForm();
[Link](rootPane, "Thêm sinh viên thành công");
}else{

[Link](rootPane, "ngày sinh phải nhỏ hơn ngày hiện


thời!");
}

} catch (ParseException e) {
[Link](rootPane, "vui lòng nhập đúng định dạng (vd:
12/12/2002)!");

} catch (InValidPhoneException ex) {


[Link](rootPane, "số điện thoại không hợp lệ");
} catch (InValidEmailException ex) {
[Link](rootPane, "email không hợp lệ");
}

} else {
[Link](rootPane, "vui lòng nhập đầy đủ thông tin");
}
}//GEN-LAST:event_btnAddActionPerformed

private void btnUpdateActionPerformed([Link] evt) {//GEN-


FIRST:event_btnUpdateActionPerformed
edit = [Link]();
if (![Link]()) {
if (edit != -1) {
EditStudent editS = new EditStudent(this, true, [Link](edit));
[Link](true);
} else {
[Link](rootPane, "vui lòng chọn sinh viên cần sinh
sửa");
}
} else {
[Link](rootPane, "danh sách rỗng");
}
}//GEN-LAST:event_btnUpdateActionPerformed

private void btnRemoveActionPerformed([Link] evt) {//GEN-


FIRST:event_btnRemoveActionPerformed
edit = [Link]();
if (![Link]()) {
if (edit != -1) {
int choic = [Link](rootPane, "bạn có chắc chắn muốn
xóa?");
if (choic == JOptionPane.YES_OPTION) {
[Link]([Link](edit));
[Link](edit);
[Link](edit);
[Link]();
[Link](rootPane, "xóa thành công");
} else {
[Link](rootPane, "bạn đã hủy");
}
} else {
[Link](rootPane, "vui lòng chọn sinh viên cần xóa");
}
} else {
[Link](rootPane, "danh sách rỗng");
}
}//GEN-LAST:event_btnRemoveActionPerformed

private void btnRefreshActionPerformed([Link] evt) {//GEN-


FIRST:event_btnRefreshActionPerformed
showListStudent();
}//GEN-LAST:event_btnRefreshActionPerformed

private void comboboxCategoryActionPerformed([Link] evt)


{//GEN-FIRST:event_comboboxCategoryActionPerformed
switch ([Link]()) {
case 0 -> [Link]("CT05" + ([Link] + 1));
case 1 -> [Link]("AT17" + ([Link] + 1));
case 2 -> [Link]("DT04" + ([Link] + 1));
default -> {
}
}
}//GEN-LAST:event_comboboxCategoryActionPerformed

private void jMenuItem1ActionPerformed([Link] evt) {//GEN-


FIRST:event_jMenuItem1ActionPerformed
HomeForm hf = new HomeForm(emp);
[Link](true);
[Link]();
}//GEN-LAST:event_jMenuItem1ActionPerformed

private void jMenuItem2ActionPerformed([Link] evt) {//GEN-


FIRST:event_jMenuItem2ActionPerformed
int choic = [Link](rootPane, "bạn có chắc chắn muốn đăng
xuất!");
if (choic == JOptionPane.YES_OPTION) {
LoginAdminForm laf = new LoginAdminForm();
[Link](true);
[Link]();

}
}//GEN-LAST:event_jMenuItem2ActionPerformed

private void txtNameActionPerformed([Link] evt) {//GEN-


FIRST:event_txtNameActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_txtNameActionPerformed

private void showListStudent() {


[Link](0);
int stt = 1;
for ( Student e : listStudent) {
Object[] row = new Object[]{stt++, [Link](), [Link](),
[Link](), [Link]([Link]()), [Link](), [Link](),
[Link](), [Link](), [Link](), [Link]()};
[Link](row);
[Link]();
}
}
private void addTableModle(Student e) {

Object[] row = new Object[]{stt++, [Link](), [Link](),


[Link](), [Link]([Link]()), [Link](), [Link](),
[Link](), [Link](), [Link](), [Link]()};
[Link](row);
[Link]();

public void editStudent(Student s) {

[Link](edit, s);
[Link](s);
[Link](edit);
Object[] row = new Object[]{edit + 1, [Link](), [Link](),
[Link](), [Link]([Link]()), [Link](), [Link](),
[Link](), [Link](), [Link](), [Link]()};
[Link](edit, row);
[Link]();
}

/**
* @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
[Link]
*/
try {
for ([Link] info :
[Link]()) {
if ("Nimbus".equals([Link]())) {
[Link]([Link]());
break;
}
}
} catch (ClassNotFoundException ex) {

[Link]([Link]()).log([Link]
[Link], null, ex);
} catch (InstantiationException ex) {

[Link]([Link]()).log([Link]
[Link], null, ex);
} catch (IllegalAccessException ex) {

[Link]([Link]()).log([Link]
[Link], null, ex);
} catch ([Link] ex) {

[Link]([Link]()).log([Link]
[Link], null, ex);
}
//</editor-fold>

/* Create and display the form */


[Link](() -> {
new StudentForm().setVisible(true);
});
}

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


private [Link] LabeBookName;
private [Link] LabelBookId;
private [Link] LabelCategory;
private [Link] LabelCount;
private [Link] LabelPrice;
private [Link] LabelProducer;
private [Link] btnAdd;
private [Link] btnRefresh;
private [Link] btnRemove;
private [Link] btnSeachByClass;
private [Link] btnSeachByNameStudent;
private [Link] btnSeachByStudentId;
private [Link] btnSearch;
private [Link] btnUpdate;
private [Link] buttonGroupGender;
private [Link] buttonGroupSearchST;
private [Link]<String> comboboxCategory;
private [Link]<String> comboboxClass;
private [Link] jLabel1;
private [Link] jLabel2;
private [Link] jMenu1;
private [Link] jMenuBar1;
private [Link] jMenuItem1;
private [Link] jMenuItem2;
private [Link] jPanel1;
private [Link] jPanel2;
private [Link] jPanel3;
private [Link] jScrollPane1;
private [Link] jSeparator1;
private [Link] labelAuthor;
private [Link] rbtnBoy;
private [Link] rbtnGirl;
private [Link] tbStudent;
private [Link] txtAddress;
private [Link] txtDob;
private [Link] txtEmail;
private [Link] txtName;
private [Link] txtSdt;
private [Link] txtSearch;
private [Link] txtStudentId;
// End of variables declaration//GEN-END:variables

private void addGroup() {


[Link](btnSeachByClass);
[Link](btnSeachByNameStudent);
[Link](btnSeachByStudentId);
[Link](rbtnBoy);
[Link](rbtnGirl);

private void setID() {


int maxID = 0;
for ( Student e : listStudent) {
int id = takeId([Link]());
if (maxID < id) {
maxID = id;
}
}
[Link] = maxID;

private int takeId(String studentId) {


String[] nameId = [Link]("(AT17|CT05|DT04)");
int id = [Link](nameId[1]);
return id;
}

private boolean checkGender() {


return [Link]() || [Link]();
}

private void takeGender(Student s) {


[Link]([Link]() ? "Nam" : "Nữ");
}

}
Controller bao gồm 3 file:
+) [Link]
+) [Link]
+)[Link]

Model bao gồm 4 file:


[Link]
[Link]
[Link]
[Link]

View bao gồm 2 file:


[Link]
[Link]

You might also like