thieumao

Form.java

Jul 27th, 2013
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.08 KB | None | 0 0
  1. import java.awt.BorderLayout;
  2. import java.awt.Button;
  3. import java.awt.Frame;
  4. import java.awt.Label;
  5. import java.awt.List;
  6. import java.awt.Panel;
  7. import java.awt.TextField;
  8. import java.awt.event.ActionEvent;
  9. import java.awt.event.ActionListener;
  10. import java.awt.event.ItemEvent;
  11. import java.awt.event.ItemListener;
  12. import java.awt.event.WindowAdapter;
  13. import java.awt.event.WindowEvent;
  14. import java.io.FileInputStream;
  15. import java.io.ObjectInputStream;
  16. import java.util.ArrayList;
  17.  
  18. public class Form extends Frame implements ActionListener, ItemListener {
  19.     private Label lbMaSV, lbTen, lbNgaysinh, lbDiachi;
  20.     private TextField tfMaSV, tfTen, tfNgaysinh, tfDiachi;
  21.     private Button btAdd, btUpdate, btSave;
  22.     private List listStudent;
  23.     private ArrayList<Sinhvien> arrSV;
  24.  
  25.     public Form(String title) {
  26.         this.addWindowListener(new WindowAdapter() {
  27.             public void windowClosing(WindowEvent we) {
  28.                 System.exit(0);
  29.             }
  30.         });
  31.         this.setTitle(title);
  32.         this.setLayout(new BorderLayout());
  33.  
  34.         Panel pnTop = new Panel();
  35.         Label lbTitle = new Label("Form Quản Lý Sinh Viên");
  36.         pnTop.add(lbTitle);
  37.         this.add(pnTop, BorderLayout.PAGE_START);
  38.  
  39.         Panel pnLeft = new Panel();
  40.         listStudent = new List();
  41.         pnLeft.add(listStudent);
  42.         this.add(listStudent, BorderLayout.LINE_START);
  43.  
  44.         Panel pnCenter = new Panel();
  45.         pnCenter.setLayout(null);
  46.  
  47.         lbMaSV = new Label("Ma SV");
  48.         lbTen = new Label("Ten");
  49.         lbNgaysinh = new Label("Ngay sinh");
  50.         lbDiachi = new Label("Dia chi");
  51.  
  52.         tfMaSV = new TextField(20);
  53.         tfTen = new TextField(20);
  54.         tfNgaysinh = new TextField(20);
  55.         tfDiachi = new TextField(20);
  56.  
  57.         pnCenter.add(lbMaSV).setBounds(20, 20, 70, 23);
  58.         pnCenter.add(tfMaSV).setBounds(100, 20, 150, 23);
  59.  
  60.         pnCenter.add(lbTen).setBounds(20, 50, 70, 23);
  61.         pnCenter.add(tfTen).setBounds(100, 50, 150, 23);
  62.  
  63.         pnCenter.add(lbNgaysinh).setBounds(20, 80, 70, 23);
  64.         pnCenter.add(tfNgaysinh).setBounds(100, 80, 150, 23);
  65.  
  66.         pnCenter.add(lbDiachi).setBounds(20, 110, 70, 23);
  67.         pnCenter.add(tfDiachi).setBounds(100, 110, 150, 23);
  68.  
  69.         btAdd = new Button("Add");
  70.         pnCenter.add(btAdd).setBounds(20, 150, 60, 23);
  71.  
  72.         btUpdate = new Button("Update");
  73.         pnCenter.add(btUpdate).setBounds(105, 150, 60, 23);
  74.  
  75.         btSave = new Button("Save");
  76.         pnCenter.add(btSave).setBounds(185, 150, 60, 23);
  77.  
  78.         this.add(pnCenter, BorderLayout.CENTER);
  79.  
  80.         arrSV = new ArrayList<Sinhvien>();
  81.         btAdd.addActionListener(this);
  82.         btUpdate.addActionListener(this);
  83.         btSave.addActionListener(this);
  84.         listStudent.addItemListener(this);
  85.  
  86.         try {
  87.             Sinhvien test = new Sinhvien();
  88.             FileInputStream fis = new FileInputStream("ksec.txt");
  89.             ObjectInputStream in1 = new ObjectInputStream(fis);
  90.             do {
  91.                 test = (Sinhvien) in1.readObject();
  92.                 listStudent.add(test.getMaSV());
  93.                 arrSV.add(new Sinhvien(test.getMaSV(), test.getTen(), test
  94.                         .getNgaysinh(), test.getDiachi()));
  95.             } while (test != null);
  96.             in1.close();
  97.         } catch (Exception e) {
  98.             System.out.println("Error - Open");
  99.         }
  100.     }
  101.  
  102.     @Override
  103.     public void actionPerformed(ActionEvent ae) {
  104.         if (ae.getSource() == btAdd) {
  105.             System.out.println("Add");
  106.             listStudent.add(tfMaSV.getText());
  107.             arrSV.add(new Sinhvien(tfMaSV.getText(), tfTen.getText(),
  108.                     tfNgaysinh.getText(), tfDiachi.getText()));
  109.         }
  110.  
  111.         if (ae.getSource() == btUpdate) {
  112.             System.out.println("Update");
  113.             int i = listStudent.getSelectedIndex();
  114.             if (i != -1) {
  115.                 listStudent.remove(i);
  116.                 listStudent.add(tfMaSV.getText(), i);
  117.                 Sinhvien sv = (Sinhvien) arrSV.get(i);
  118.                 sv.setMaSV(tfMaSV.getText());
  119.                 sv.setTen(tfTen.getText());
  120.                 sv.setNgaysinh(tfNgaysinh.getText());
  121.                 sv.setDiachi(tfDiachi.getText());
  122.             }
  123.         }
  124.  
  125.         if (ae.getSource() == btSave) {
  126.             System.out.println("Save");
  127.             Sinhvien gf = new Sinhvien();
  128.             gf.GhiFile("ksec.txt", arrSV);
  129.         }
  130.     }
  131.  
  132.     @Override
  133.     public void itemStateChanged(ItemEvent e) {
  134.         Sinhvien sv = (Sinhvien) arrSV.get(listStudent.getSelectedIndex());
  135.         tfMaSV.setText(sv.getMaSV());
  136.         tfTen.setText(sv.getTen());
  137.         tfNgaysinh.setText(sv.getNgaysinh());
  138.         tfDiachi.setText(sv.getDiachi());
  139.     }
  140.  
  141. }
Advertisement
Add Comment
Please, Sign In to add comment