用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();
}
}








Leave a comment