thieumao

QLSV.java

Jul 26th, 2013
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.29 KB | None | 0 0
  1. package mau;
  2. import java.awt.BorderLayout;
  3. import java.awt.Button;
  4. import java.awt.Checkbox;
  5. import java.awt.CheckboxGroup;
  6. import java.awt.Frame;
  7. import java.awt.Label;
  8. import java.awt.List;
  9. import java.awt.Panel;
  10. import java.awt.TextField;
  11. import java.awt.event.ActionEvent;
  12. import java.awt.event.ActionListener;
  13. import java.awt.event.ItemEvent;
  14. import java.awt.event.ItemListener;
  15. import java.awt.event.WindowAdapter;
  16. import java.awt.event.WindowEvent;
  17. import java.io.FileInputStream;
  18. import java.io.FileOutputStream;
  19. import java.io.ObjectInputStream;
  20. import java.io.ObjectOutput;
  21. import java.io.ObjectOutputStream;
  22. import java.io.Serializable;
  23. import java.util.ArrayList;
  24.  
  25. public class QLSV extends Frame implements ActionListener, ItemListener {
  26.  
  27.     public static void main(String[] args) {
  28.         QLSV fr = new QLSV("Thieu Mao - KSEC");
  29.         fr.setVisible(true);
  30.         fr.setSize(430, 270);
  31.         fr.setLocation(500, 200);
  32.     }
  33.  
  34.     private List listStudent;
  35.     private TextField tfName, tfPass, tfAddress;
  36.     private CheckboxGroup cgGender;
  37.     private Checkbox cbMale, cbFemale;
  38.     private Button btAdd, btUpdate, btSave;
  39.     private ArrayList<User> arrSV;
  40.  
  41.     @SuppressWarnings("empty-statement")
  42.     public QLSV(String title) {
  43.         super(title);
  44.         this.addWindowListener(new WindowAdapter() {
  45.             public void windowClosing(WindowEvent we) {
  46.                 System.exit(0);
  47.             }
  48.         });
  49.  
  50.         this.setLayout(new BorderLayout());
  51.  
  52.         Panel pnTop = new Panel();
  53.         Label lbTitle = new Label("Form Quản Lý Sinh Viên");
  54.         pnTop.add(lbTitle);
  55.         this.add(pnTop, BorderLayout.PAGE_START);
  56.  
  57.         Panel pnLeft = new Panel();
  58.         listStudent = new List();
  59.         pnLeft.add(listStudent);
  60.         this.add(listStudent, BorderLayout.LINE_START);
  61.  
  62.         Panel pnCenter = new Panel();
  63.         pnCenter.setLayout(null);
  64.  
  65.         Label lbName = new Label("Họ tên:");
  66.         pnCenter.add(lbName).setBounds(20, 20, 70, 23);
  67.         tfName = new TextField(30);
  68.         pnCenter.add(tfName).setBounds(100, 20, 150, 23);
  69.  
  70.         Label lbPhone = new Label("Mật khẩu:");
  71.         pnCenter.add(lbPhone).setBounds(20, 50, 70, 23);
  72.         tfPass = new TextField(30);
  73.         pnCenter.add(tfPass).setBounds(100, 50, 150, 23);
  74.  
  75.         Label lbAddress = new Label("Địa chỉ:");
  76.         pnCenter.add(lbAddress).setBounds(20, 80, 70, 23);
  77.         tfAddress = new TextField(30);
  78.         pnCenter.add(tfAddress).setBounds(100, 80, 150, 23);
  79.  
  80.         Label lbGender = new Label("Giới tính:");
  81.         pnCenter.add(lbGender).setBounds(20, 110, 70, 23);
  82.         cgGender = new CheckboxGroup();
  83.         cbMale = new Checkbox("Nam", cgGender, false);
  84.         cbFemale = new Checkbox("Nữ", cgGender, false);
  85.         pnCenter.add(cbMale).setBounds(100, 110, 45, 23);
  86.         pnCenter.add(cbFemale).setBounds(160, 110, 45, 23);
  87.  
  88.         btAdd = new Button("Add");
  89.         pnCenter.add(btAdd).setBounds(20, 150, 60, 23);
  90.         btAdd.addActionListener(this);
  91.  
  92.         btUpdate = new Button("Update");
  93.         pnCenter.add(btUpdate).setBounds(105, 150, 60, 23);
  94.         btUpdate.addActionListener(this);
  95.  
  96.         btSave = new Button("Save");
  97.         pnCenter.add(btSave).setBounds(185, 150, 60, 23);
  98.         btSave.addActionListener(this);
  99.  
  100.         this.add(pnCenter, BorderLayout.CENTER);
  101.  
  102.         arrSV = new ArrayList<User>();
  103.  
  104.         listStudent.addItemListener(this);
  105.  
  106.         try {
  107.             User test = new User();
  108.             // System.out.println("the values are : " + t1);
  109.             FileInputStream fis = new FileInputStream("thieumao.txt");
  110.             ObjectInputStream in1 = new ObjectInputStream(fis);
  111.             do {
  112.                 test = (User) in1.readObject();
  113.                 listStudent.add(test.name);
  114.                 arrSV.add(new User(test.name, test.pass, test.address,
  115.                         test.male, test.female));
  116.             } while (test != null);
  117.             in1.close();
  118.         } catch (Exception e) {
  119.             System.out.println("Error - Open");
  120.         }
  121.  
  122.     }
  123.  
  124.     @Override
  125.     public void actionPerformed(ActionEvent e) {
  126.         // code here
  127.         if (e.getSource() == btAdd) {
  128.             listStudent.add(tfName.getText());
  129.             arrSV.add(new User(tfName.getText(), tfPass.getText(), tfAddress
  130.                     .getText(), cbMale.getState(), cbFemale.getState()));
  131.         }
  132.  
  133.         if (e.getSource() == btUpdate) {
  134.             int i = listStudent.getSelectedIndex();
  135.             User us = (User) arrSV.get(i);
  136.             us.name = tfName.getText();
  137.             us.pass = tfPass.getText();
  138.             us.address = tfAddress.getText();
  139.             us.male = cbMale.getState();
  140.             us.female = cbFemale.getState();
  141.             listStudent.remove(i);
  142.             listStudent.add(tfName.getText(), i);
  143.         }
  144.  
  145.         if (e.getSource() == btSave) {
  146.             System.out.println("Save");
  147.             try {
  148.                 FileOutputStream fos = new FileOutputStream("thieumao.txt");
  149.                 ObjectOutputStream out1 = new ObjectOutputStream(fos);
  150.                 for (int i = 0; i < arrSV.size(); i++) {
  151.                     User us = (User) arrSV.get(i);
  152.                     out1.writeObject(us);
  153.                 }
  154.                 out1.flush();
  155.                 out1.close();
  156.             } catch (Exception ee) {
  157.                 System.out.println("Error");
  158.             }
  159.         }
  160.     }
  161.  
  162.     @Override
  163.     public void itemStateChanged(ItemEvent e) {
  164.         User us = (User) arrSV.get(listStudent.getSelectedIndex());
  165.         tfName.setText(us.name);
  166.         tfPass.setText(us.pass);
  167.         tfAddress.setText(us.address);
  168.         cbMale.setState(us.male);
  169.         cbFemale.setState(us.female);
  170.     }
  171. }
  172.  
  173. class User implements Serializable {
  174.  
  175.     public String name, pass, address;
  176.     public Boolean male, female;
  177.  
  178.     public User() {
  179.     }
  180.  
  181.     public User(String name, String pass, String address, Boolean male,
  182.             Boolean female) {
  183.         this.name = name;
  184.         this.pass = pass;
  185.         this.address = address;
  186.         this.male = male;
  187.         this.female = female;
  188.     }
  189. }
Advertisement
Add Comment
Please, Sign In to add comment