Java编写学生信息系统

| 0 Comments
      用JAVA实现的学生信息管理系统。
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.ArrayList;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Students extends JFrame {
    /**
     * 信息组建
     */
    ArrayList<String> alname = new ArrayList<String>();
    ArrayList<String> alno = new ArrayList<String>();
    /**
     * 面板组件
     */
    static int num = 0;
    JTextField jtno = new JTextField(31);
    JTextField jtname = new JTextField(31);
    JButton jbfind = new JButton("查找");
    JButton jbedit = new JButton("修改");
    JButton jbadd = new JButton("添加");
    JButton jbdelete = new JButton("删除");
    JButton jbok = new JButton("退出");

    Students() {
        // "E://Text//user.txt"读取原始信息
        try {
            BufferedReader br = new BufferedReader(new FileReader(
                    "E://Text//user.txt"));
            String message = null;
            while ((message = br.readLine()) != null) {
                String[] arrayLine = message.split("\\s+");
                alname.add(arrayLine[0]);
                alno.add(arrayLine[1]);
            }
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        System.out.println(alname);
        System.out.println(alno);
    }

    public void studentFrame() {
        setTitle("学生信息");
        setSize(480, 150);

        setLayout(new GridLayout(3, 1));
        JPanel p1 = new JPanel();
        p1.add(new JLabel("学号:", JLabel.CENTER));
        p1.add(jtno);
        JPanel p2 = new JPanel();
        p2.add(new JLabel("姓名:", JLabel.CENTER));
        p2.add(jtname);
        JPanel p3 = new JPanel();
        p3.add(jbfind);
        p3.add(jbedit);
        p3.add(jbadd);
        p3.add(jbdelete);
        p3.add(jbok);
        add(p1);
        add(p2);
        add(p3);
        jbedit.setEnabled(false);
        jbdelete.setEnabled(false);
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        jbfind.addActionListener(new Find());
        jbedit.addActionListener(new Edit());
        jbadd.addActionListener(new Add());
        jbdelete.addActionListener(new Delete());
        jbok.addActionListener(new Ok());
    }

    private class Ok implements ActionListener {

        public void actionPerformed(ActionEvent e) {
            try {
                BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(
                        new FileOutputStream("E://Text//user.txt")));
                bw.write("");
            } catch (FileNotFoundException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            } catch (IOException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
            try {
                BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(
                        new FileOutputStream("E://Text//user.txt", true)));
                for (int i = 0; i < alno.size(); i++) {
                    bw.write(alname.get(i) + " " + alno.get(i));
                    bw.newLine();
                    bw.flush();
                }
            } catch (FileNotFoundException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            } catch (IOException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
            dispose();
        }
    }

    private class Add implements ActionListener {

        public void actionPerformed(ActionEvent e) {

            String no = jtno.getText();
            String name = jtname.getText();
            num = alno.indexOf(no);
            System.out.println(num);
            if (num == -1) {
                alno.add(no);
                alname.add(name);
            } else {
                JOptionPane.showMessageDialog(null, "该用户已存在请重新输入!");
            }
            System.out.println(alno);
            System.out.println(alname);
            jtno.setText("");
            jtname.setText("");

        }
    }

    private class Find implements ActionListener {

        public void actionPerformed(ActionEvent e) {

            jbedit.setEnabled(true);
            jbdelete.setEnabled(true);
            // jbimport.setEnabled(false);
            jbfind.setEnabled(false);
            String str = jtno.getText();
            num = alno.indexOf(str);

            jtname.setText(alname.get(num));

        }

    }

    private class Edit implements ActionListener {

        public void actionPerformed(ActionEvent e) {
            jbfind.setEnabled(true);
            jbadd.setEnabled(true);
            // jbimport.setEnabled(true);
            jbedit.setEnabled(false);
            jbdelete.setEnabled(false);
            alno.remove(num);
            alname.remove(num);
            String no = jtno.getText();
            String name = jtname.getText();
            alno.add(no);
            alname.add(name);
            System.out.println(alno);
            System.out.println(alname);
            jtno.setText("");
            jtname.setText("");

        }
    }

    private class Delete implements ActionListener {

        public void actionPerformed(ActionEvent e) {
            String no = jtno.getText();
            num = alno.indexOf(no);
            alno.remove(num);
            alname.remove(num);
            System.out.println(alno);
            System.out.println(alname);
            jtno.setText("");
            jtname.setText("");
            jbdelete.setEnabled(false);
        }

    }

    public void setSize(int width, int height) {
        Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
        setBounds((d.width - width) / 2, (d.height - height) / 2, width, height);
    }

    public static void main(String[] args) {
        new Students().studentFrame();
    }

}
相关日志

Advertisements

Leave a comment

Featured Post

 

Blogger博客支持实时统计

 

曙光博客稍稍修改