Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.BorderLayout;
- import java.awt.Button;
- import java.awt.Frame;
- import java.awt.Label;
- import java.awt.List;
- import java.awt.Panel;
- import java.awt.TextField;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.event.ItemEvent;
- import java.awt.event.ItemListener;
- import java.awt.event.WindowAdapter;
- import java.awt.event.WindowEvent;
- import java.io.FileInputStream;
- import java.io.ObjectInputStream;
- import java.util.ArrayList;
- public class Form extends Frame implements ActionListener, ItemListener {
- private Label lbMaSV, lbTen, lbNgaysinh, lbDiachi;
- private TextField tfMaSV, tfTen, tfNgaysinh, tfDiachi;
- private Button btAdd, btUpdate, btSave;
- private List listStudent;
- private ArrayList<Sinhvien> arrSV;
- public Form(String title) {
- this.addWindowListener(new WindowAdapter() {
- public void windowClosing(WindowEvent we) {
- System.exit(0);
- }
- });
- this.setTitle(title);
- this.setLayout(new BorderLayout());
- Panel pnTop = new Panel();
- Label lbTitle = new Label("Form Quản Lý Sinh Viên");
- pnTop.add(lbTitle);
- this.add(pnTop, BorderLayout.PAGE_START);
- Panel pnLeft = new Panel();
- listStudent = new List();
- pnLeft.add(listStudent);
- this.add(listStudent, BorderLayout.LINE_START);
- Panel pnCenter = new Panel();
- pnCenter.setLayout(null);
- lbMaSV = new Label("Ma SV");
- lbTen = new Label("Ten");
- lbNgaysinh = new Label("Ngay sinh");
- lbDiachi = new Label("Dia chi");
- tfMaSV = new TextField(20);
- tfTen = new TextField(20);
- tfNgaysinh = new TextField(20);
- tfDiachi = new TextField(20);
- pnCenter.add(lbMaSV).setBounds(20, 20, 70, 23);
- pnCenter.add(tfMaSV).setBounds(100, 20, 150, 23);
- pnCenter.add(lbTen).setBounds(20, 50, 70, 23);
- pnCenter.add(tfTen).setBounds(100, 50, 150, 23);
- pnCenter.add(lbNgaysinh).setBounds(20, 80, 70, 23);
- pnCenter.add(tfNgaysinh).setBounds(100, 80, 150, 23);
- pnCenter.add(lbDiachi).setBounds(20, 110, 70, 23);
- pnCenter.add(tfDiachi).setBounds(100, 110, 150, 23);
- btAdd = new Button("Add");
- pnCenter.add(btAdd).setBounds(20, 150, 60, 23);
- btUpdate = new Button("Update");
- pnCenter.add(btUpdate).setBounds(105, 150, 60, 23);
- btSave = new Button("Save");
- pnCenter.add(btSave).setBounds(185, 150, 60, 23);
- this.add(pnCenter, BorderLayout.CENTER);
- arrSV = new ArrayList<Sinhvien>();
- btAdd.addActionListener(this);
- btUpdate.addActionListener(this);
- btSave.addActionListener(this);
- listStudent.addItemListener(this);
- try {
- Sinhvien test = new Sinhvien();
- FileInputStream fis = new FileInputStream("ksec.txt");
- ObjectInputStream in1 = new ObjectInputStream(fis);
- do {
- test = (Sinhvien) in1.readObject();
- listStudent.add(test.getMaSV());
- arrSV.add(new Sinhvien(test.getMaSV(), test.getTen(), test
- .getNgaysinh(), test.getDiachi()));
- } while (test != null);
- in1.close();
- } catch (Exception e) {
- System.out.println("Error - Open");
- }
- }
- @Override
- public void actionPerformed(ActionEvent ae) {
- if (ae.getSource() == btAdd) {
- System.out.println("Add");
- listStudent.add(tfMaSV.getText());
- arrSV.add(new Sinhvien(tfMaSV.getText(), tfTen.getText(),
- tfNgaysinh.getText(), tfDiachi.getText()));
- }
- if (ae.getSource() == btUpdate) {
- System.out.println("Update");
- int i = listStudent.getSelectedIndex();
- if (i != -1) {
- listStudent.remove(i);
- listStudent.add(tfMaSV.getText(), i);
- Sinhvien sv = (Sinhvien) arrSV.get(i);
- sv.setMaSV(tfMaSV.getText());
- sv.setTen(tfTen.getText());
- sv.setNgaysinh(tfNgaysinh.getText());
- sv.setDiachi(tfDiachi.getText());
- }
- }
- if (ae.getSource() == btSave) {
- System.out.println("Save");
- Sinhvien gf = new Sinhvien();
- gf.GhiFile("ksec.txt", arrSV);
- }
- }
- @Override
- public void itemStateChanged(ItemEvent e) {
- Sinhvien sv = (Sinhvien) arrSV.get(listStudent.getSelectedIndex());
- tfMaSV.setText(sv.getMaSV());
- tfTen.setText(sv.getTen());
- tfNgaysinh.setText(sv.getNgaysinh());
- tfDiachi.setText(sv.getDiachi());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment