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]())) {
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]