Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
31 views6 pages

GUI

Uploaded by

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

GUI

Uploaded by

anhnt.22it
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 6

package connect;

import java.awt.BorderLayout;
import java.awt.Checkbox;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.Iterator;

import javax.swing.*;
import javax.swing.border.Border;
import javax.swing.plaf.synth.Region;
import javax.swing.table.DefaultTableModel;

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();
jFrame.setLayout(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 = BorderFactory.createTitledBorder("Nhập Thông Tin Sinh Viên");
border2 = BorderFactory.createTitledBorder("Danh Sách Sinh Viên");
defaultTableModel = new DefaultTableModel();

//setMainFrame
setFrame();

//Setuppanel1
jFrame.add(panel_1);
jFrame.add(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) table.getModel();
showSinhVien();
}

public void setFrame() {


jFrame.setSize(WIDTH, HEIGHT);
jFrame.setTitle("Chương Trình Quản Lý Sinh Viên");
jFrame.setVisible(true);
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

private void setButtons() {


addButton = new JButton("Thêm");
addButton.addActionListener(this);
updateButton = new JButton("Cập Nhật");
updateButton.addActionListener(this);
deleteButton = new JButton("Xoá");
deleteButton.addActionListener(this);
resetButton = new JButton("Reset");
resetButton.addActionListener(this);
findButton = new JButton("Tìm");
findButton.addActionListener(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


checkButtonGroup.add(checkBox_1);
checkButtonGroup.add(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(table.getTableHeader(), BorderLayout.NORTH);
panel_2.add(table, BorderLayout.CENTER);
}

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);
defaultTableModel.addColumn("ID");
defaultTableModel.addColumn("Mã Sinh Viên");
defaultTableModel.addColumn("Tên Sinh Viên");
defaultTableModel.addColumn("Lớp");
defaultTableModel.addColumn("Tuổi");
defaultTableModel.addColumn("Giới Tính");
defaultTableModel.addColumn("Email");

private void showSinhVien() {


danhsachsinhvien = SQLStaments.getInstance().selectAll();

defaultTableModel.setRowCount(0);

for(SinhVien sinhVien : danhsachsinhvien) {


defaultTableModel.addRow(new Object[]
{defaultTableModel.getRowCount() + 1, sinhVien.getMaSV(), sinhVien.getName(),
sinhVien.getInClass(), sinhVien.getAge(), sinhVien.getSex(), sinhVien.getEmail()});
}
}

@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource() == resetButton) {
ResetButton();
}
if(e.getSource() == addButton) {
AddButton();
}
if(e.getSource() == deleteButton) {
DeleteSinhVienButton();
}
if(e.getSource() == findButton) {
showSinhVien();
FindSinhVienButton();
}
if(e.getSource() == 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 = Integer.parseInt(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
SQLStaments.getInstance().add(sinhVien);
showSinhVien();
ResetButton();
}

private void DeleteSinhVienButton() {


int selectPosition = table.getSelectedRow();
if(selectPosition > 0) {
SinhVien sinhVien = danhsachsinhvien.get(selectPosition);

int check = JOptionPane.showConfirmDialog(this, "Bạn có chắc muốn


xoá Sinh Viên này?");

if(check == 0) {
SQLStaments.getInstance().delete(sinhVien.getMaSV());
showSinhVien();
}
}
}

private void FindSinhVienButton() {


String inputStr = JOptionPane.showInputDialog(this, "Nhập mã Sinh Viên
bạn muốn tìm: ");
if((inputStr.length() > 0) && (inputStr != null)) {
danhsachsinhvien =
SQLStaments.getInstance().findWithCondition(inputStr);

//Hien thi
defaultTableModel.setRowCount(0);

for(SinhVien sinhVien : danhsachsinhvien) {


defaultTableModel.addRow(new Object[]
{defaultTableModel.getRowCount() + 1, sinhVien.getMaSV(), sinhVien.getName(),
sinhVien.getInClass(), sinhVien.getAge(), sinhVien.getSex(), sinhVien.getEmail()});
}

} else {
showSinhVien();
}
}

private void UpdateSinhVien() {


String maSV = textField_MaSV.getText();
String name = textField_Name.getText();
int age = Integer.parseInt(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);

SQLStaments.getInstance().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();
}
}

You might also like