package connect;
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link].*;
import [Link];
import [Link];
import [Link];
public class GUI extends JFrame implements ActionListener{
private JButton addButton, updateButton, deleteButton, resetButton,
findButton;
private JTextField textField_MaSV, textField_Name, textField_Age,
textField_Class, textField_Email;
private JLabel idLabel, nameLabel, genderLabel, ageLabel, classLabel,
emailLabel;
private JPanel panel_1, panel_2, panel_3;
private JPanel panel_4, panel_5;
private JTable table;
private DefaultTableModel defaultTableModel;
private JFrame jFrame;
private JCheckBox checkBox_1;
private JCheckBox checkBox_2;
private ButtonGroup checkButtonGroup;
private Border border, border2;
private final int WIDTH = 800;
private final int HEIGHT = 800;
//
private ArrayList<SinhVien> danhsachsinhvien = new ArrayList<>();
public GUI(){
jFrame = new JFrame();
[Link](new GridLayout(2,1));
panel_1 = new JPanel();
panel_2 = new JPanel();
panel_3 = new JPanel();
panel_4 = new JPanel();
panel_5 = new JPanel();
border = [Link]("Nhập Thông Tin Sinh Viên");
border2 = [Link]("Danh Sách Sinh Viên");
defaultTableModel = new DefaultTableModel();
//setMainFrame
setFrame();
//Setuppanel1
[Link](panel_1);
[Link](panel_2);
//set
setButtons();
setLable();
setTextField();
setCheckBox();
setTable();
showSinhVien();
//add
addElementsToPanel1();
addElementsToPanel2();
//setpanel
setPanel3();
setPanel4();
setPanel5();
panel_1.setBorder(border);
panel_1.setLayout(new GridLayout(7,1));
panel_2.setBorder(border2);
//panel_2.setLayout(new BorderLayout());
defaultTableModel = (DefaultTableModel) [Link]();
showSinhVien();
}
public void setFrame() {
[Link](WIDTH, HEIGHT);
[Link]("Chương Trình Quản Lý Sinh Viên");
[Link](true);
[Link](JFrame.EXIT_ON_CLOSE);
}
private void setButtons() {
addButton = new JButton("Thêm");
[Link](this);
updateButton = new JButton("Cập Nhật");
[Link](this);
deleteButton = new JButton("Xoá");
[Link](this);
resetButton = new JButton("Reset");
[Link](this);
findButton = new JButton("Tìm");
[Link](this);
}
private void setLable() {
idLabel = new JLabel("Mã Sinh Viên");
nameLabel = new JLabel("Họ Tên");
ageLabel = new JLabel("Tuổi");
genderLabel = new JLabel("Giới Tính");
classLabel = new JLabel("Lớp");
emailLabel = new JLabel("Email");
}
private void setTextField() {
textField_MaSV = new JTextField();
textField_Name = new JTextField();
textField_Class = new JTextField();
textField_Age = new JTextField();
textField_Email = new JTextField();
}
private void setCheckBox() {
checkButtonGroup = new ButtonGroup();
checkBox_1 = new JCheckBox("Nam");
checkBox_2 = new JCheckBox("Nữ");
//Check checkbox chi duoc chon 1 item
[Link](checkBox_1);
[Link](checkBox_2);
}
private void addElementsToPanel1() {
panel_1.add(idLabel);
panel_1.add(textField_MaSV);
panel_1.add(nameLabel);
panel_1.add(textField_Name);
panel_1.add(ageLabel);
panel_1.add(textField_Age);
panel_1.add(genderLabel);
panel_1.add(panel_3);
panel_1.add(classLabel);
panel_1.add(textField_Class);
panel_1.add(emailLabel);
panel_1.add(textField_Email);
panel_1.add(panel_4);
panel_1.add(panel_5);
}
private void addElementsToPanel2() {
panel_2.add([Link](), [Link]);
panel_2.add(table, [Link]);
}
private void setPanel3() {
panel_3.add(checkBox_1);
panel_3.add(checkBox_2);
panel_3.setLayout(new GridLayout(1,2));
}
private void setPanel4() {
panel_4.add(addButton);
panel_4.add(updateButton);
panel_4.setLayout(new GridLayout(1, 2));
}
private void setPanel5() {
panel_5.add(deleteButton);
panel_5.add(resetButton);
panel_5.add(findButton);
panel_5.setLayout(new GridLayout(1,3));
}
private void setTable() {
table = new JTable(defaultTableModel);
[Link]("ID");
[Link]("Mã Sinh Viên");
[Link]("Tên Sinh Viên");
[Link]("Lớp");
[Link]("Tuổi");
[Link]("Giới Tính");
[Link]("Email");
private void showSinhVien() {
danhsachsinhvien = [Link]().selectAll();
[Link](0);
for(SinhVien sinhVien : danhsachsinhvien) {
[Link](new Object[]
{[Link]() + 1, [Link](), [Link](),
[Link](), [Link](), [Link](), [Link]()});
}
}
@Override
public void actionPerformed(ActionEvent e) {
if([Link]() == resetButton) {
ResetButton();
}
if([Link]() == addButton) {
AddButton();
}
if([Link]() == deleteButton) {
DeleteSinhVienButton();
}
if([Link]() == findButton) {
showSinhVien();
FindSinhVienButton();
}
if([Link]() == updateButton) {
UpdateSinhVien();
}
}
private void ResetButton() {
textField_MaSV.setText("");
textField_Name.setText("");
textField_Age.setText("");
textField_Class.setText("");
textField_Email.setText("");
checkBox_1.setSelected(false);
checkBox_2.setSelected(false);
}
private void AddButton() {
//Lay du lieu
String maSV = textField_MaSV.getText();
String name = textField_Name.getText();
int age = [Link](textField_Age.getText());
String sex = stringFromCheckBox();
String inClass = textField_Class.getText();
String email = textField_Email.getText();
SinhVien sinhVien = new SinhVien(maSV, name, inClass, age, sex, email);
//Add vo database
[Link]().add(sinhVien);
showSinhVien();
ResetButton();
}
private void DeleteSinhVienButton() {
int selectPosition = [Link]();
if(selectPosition > 0) {
SinhVien sinhVien = [Link](selectPosition);
int check = [Link](this, "Bạn có chắc muốn
xoá Sinh Viên này?");
if(check == 0) {
[Link]().delete([Link]());
showSinhVien();
}
}
}
private void FindSinhVienButton() {
String inputStr = [Link](this, "Nhập mã Sinh Viên
bạn muốn tìm: ");
if(([Link]() > 0) && (inputStr != null)) {
danhsachsinhvien =
[Link]().findWithCondition(inputStr);
//Hien thi
[Link](0);
for(SinhVien sinhVien : danhsachsinhvien) {
[Link](new Object[]
{[Link]() + 1, [Link](), [Link](),
[Link](), [Link](), [Link](), [Link]()});
}
} else {
showSinhVien();
}
}
private void UpdateSinhVien() {
String maSV = textField_MaSV.getText();
String name = textField_Name.getText();
int age = [Link](textField_Age.getText());
String sex = stringFromCheckBox();
String inClass = textField_Class.getText();
String email = textField_Email.getText();
SinhVien sinhVien = new SinhVien(maSV, name, inClass, age, sex, email);
[Link]().update(sinhVien);
showSinhVien();
ResetButton();
}
private String stringFromCheckBox() {
String str = "";
if(checkBox_1.isSelected()) {
str = checkBox_1.getText();
}
if(checkBox_2.isSelected()) {
str = checkBox_2.getText();
}
return str;
}
// private String checkTextField(JTextField textField) {
//
// }
public static void main(String[] args) {
new GUI();
}
}