第二次了,見到管理系統這東西就惡心,為什么每一本編程教材都要玩這個?不過用java再寫一次,倒是蠻有新意。留作紀念,看看到大學畢業,還會寫幾次這種破管理系統。。。。。。粗糙的可視化,雞肋再現啊。
后果(代碼看了估計都會吐血):
代碼:
/*
author:YuGuichun
fuction:student information manage
time:2011.5.28
*/
import javax.swing.*;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
//import java.io.*;
import java.util.*;
class Student
{
private String name;
private int number;
private String sex;
private int brithdate;
//---------------------定義一個學生類------------------------------
Student()
{
this.name="";
this.number=21;
this.sex="";
this.brithdate=0;
}
Student(String name,int number,String sex,int brithdate)
{
this.name=name;
this.number=number;
this.sex=sex;
this.brithdate=brithdate;
}
public void setName(String name)
{
this.name=name;
}
public void setNumber(int number)
{
this.number=number;
}
public void setSex(String sex)
{
this.sex=sex;
}
public void setBrithdate(int brithdate)
{
this.brithdate=brithdate;
}
public String getName()
{
return this.name;
}
public int getNumber()
{
return this.number;
}
public String getSex()
{
return this.sex;
}
public int getBrithdate()
{
return this.brithdate;
}
public void setAll(String name1,int number1,String sex1,int brithdate1)
{
this.name=name1;
this.number=number1;
this.sex=sex1;
this.brithdate=brithdate1;
}
public String getAll()
{
String output="";
output+=getName()+" "+getNumber()+" "+getSex()+" "+getBrithdate();
return output;
}
}
class allVector
{
public static Vector<Student> vector=new Vector<Student>();
public void addVector(Student s)
{
vector.add(s);
}
}
//---------------------------------------主類--------------------------------------------
public class Work7_8 extends JFrame implements ActionListener
{
/**
*
*/
private static final long serialVersionUID = -4378344080017000098L;
private Container pane;
private GridBagConstraints constraints;
private GridBagLayout layout;
private JTextField textdisplay;
//public static Vector<Student> vector=new Vector<Student>();
public Work7_8()//構造函數
{
super("又是學生管理系統");
pane=getContentPane();
layout=new GridBagLayout();
pane.setLayout(layout);
constraints=new GridBa gConstraints();
textdisplay=new JTextField(10);
textdisplay.setHorizontalAlignment(JTextField.RIGHT);
constraints.gridx=0;
constraints.gridy=0;
constraints.gridwidth=4;
constraints.gridheight=2;
constraints.fill=GridBagConstraints.BOTH;
constraints.weightx=1;
constraints.weighty=1;
layout.setConstraints(textdisplay,constraints);
pane.add(textdisplay);
addButton("添加學生",0,2,1,1);
addButton("修改信息",1,2,1,1);
addButton("刪除學生",0,3,1,1);
addButton("瀏覽學生",1,3,1,1);
addButton("統計學生人數",0,4,4,1);
setSize(300,230);
setVisible(true);
}
//---------------------添加按鈕的方法----------------------------
public void addButton(String label,int gridx,int gridy,int gridwidth,int gridheight)
{
JButton button=new JButton(label);
constraints.gridx=gridx;
constraints.gridy=gridy;
constraints.gridwidth=gridwidth;
constraints.gridheight=gridheight;
constraints.fill=GridBagConstraints.BOTH;
button.addActionListener(this);
layout.setConstraints(button,constraints);
pane.add(button);
}
//------------------按鈕產生的動作------------------------------
public void actionPerformed(ActionEvent e)
{
String input=(e.getActionCommand());
allVector V=new allVector();
//--------------------添加學生----------------------------
if(input.equals("添加學生"))
{
SmainFrame B = new SmainFrame();
}
//--------------------瀏覽學生----------------------------
else if(input.equals("瀏覽學生"))
{
String retult="";
if(V.vector.isEmpty())
JOptionPane.showMessageDialog(null, "管理系統中的學生為空");
else
{
String out="姓名 學號 性別 出生年月日"+"\n";
Iterator<Student> items=V.vector.iterator();
while(items.hasNext())
{
Student s1=items.next();
out+=s1.getAll();
out+="\n";
}
JOptionPane.showMessageDialog(null,out);
}
}
//--------------------修改學生----------------------------
else if(input.equals("修改信息"))
{
Enumeration items=V.vector.elements();
String num1=JOptionPane.showInputDialog("你想修改的學生的名字是:");
if(V.vector.isEmpty())
JOptionPane.showMessageDialog(null,"系統中的學生為空");
else
{
while(items.hasMoreElements())
{
String op1=JOptionPane.showInputDialog("請選擇下你想修改的內容\n1:名字\n2:學號\n3:性別\n4:出生年月日\n");
int op=Integer.parseInt(op1);
Student s1=(Student) items.nextElement();
if(s1.getName().equals( num1))
{
//String nname34=JOptionPane.showInputDialog("更改名字為:");
if(op==1)
{
String nname=JOptionPane.showInputDialog("更改名字為:");
s1.setName(nname);
JOptionPane.showMessageDialog(null,"修改成功,玩得愉快哈");
}
else if(op==2)
{
String nnum1=JOptionPane.showInputDialog("更改學號為:");
int nnum=Integer.parseInt(nnum1);
s1.setNumber(nnum);
JOptionPane.showMessageDialog(null,"修改成功,玩得愉快哈");
}
else if(op==3)
{
String sex1=JOptionPane.showInputDialog("更改性別為:");
s1.setSex(sex1);
JOptionPane.showMessageDialog(null,"修改成功,玩得愉快哈");
}
else if(op==4)
{
String brith1=JOptionPane.showInputDialog("更改出生日期為:");
int brith=Integer.parseInt(brith1);
s1.setBrithdate(brith);
JOptionPane.showMessageDialog(null,"修改成功,玩得愉快哈");
}
break;
}
}
}
}
//--------------------刪除學生----------------------------
else if(input.equals("刪除學生"))
{
String name1=JOptionPane.showInputDialog("請輸入你要刪除的學生的名字:");
Enumeration items=V.vector.elements();
if(V.vector.isEmpty())
{
JOptionPane.showMessageDialog(null,"系統中的學生為空,沒得改啦");
}
else
{
int flag=0;
while(items.hasMoreElements())
{
Student s1=(Student) items.nextElement();
if(s1.getName().equals(name1))
{
V.vector.remove(s1);
JOptionPane.showMessageDialog(null,"刪除成功");
flag=1;
break;
}
}
if(flag==0)
JOptionPane.showMessageDialog(null,"系統中沒有你想要刪除的那個學生,再想想,是不是打錯名字了");
}
}
else if(input.equals("統計學生人數"))
{
/*if(V.vector.isEmpty())
{
JOptionPane.showMessageDialog(null,"系統有0個學生");
}
else*/
{
String out="系統中總共的人數為:";
int size=V.vector.size();
out+=String.valueOf(size);
textdisplay.setText(out);
JOptionPane.showMessageDialog(null,out);
}
}
}
//---------------------主方法-------------------------------
public static void main(String []args)
{
Work7_8 A=new Work7_8();
}
}