当前位置:首页>> >>


学生信息管理系统.rar

收藏

资源目录
    文档预览:
    编号:20181030003753439    类型:共享资源    大小:4.19MB    格式:RAR    上传时间:2018-10-30
    尺寸:148x200像素    分辨率:72dpi   颜色:RGB    工具:   
    35
    金币
    关 键 词:
    学生 信息管理 系统
    资源描述:
    JISHOU UNIVERSITY程 序 设 计 基 础课 程 设 计题 目: 学生信息管理系统作 者: 龙吉胜学 号: 20154206257所属学院: 软件学院专业年级: 软件工程 2015 级 4 班指导教师: 宋旭东完成时间: 2016 年 6 月 2 日—2016 年 6 月 12 日软件学院制项目描述目的:在这个信息管理化慢慢完善的情况下做一个能管理学生信息的系统。 意义:让学生的信息储存更方便项目功能目标系统创新点:创新点就是你想知道的都有 不知道的也有系统主要流程学籍管理系统录入学生信息 修改学生信息 查询学生信息 删除学生信息代码1、InformationWindow.java该文件完成系统的启动,显示主界面。1 import java.awt.*;2 import java.awt.event.*;3 import javax.swing.*;4 import java.io.*;5 import java.util.HashMap;6 /**7 * 启动系统,完成主界面的初始化8 */9 public class InformationWindow extends JFrame implements ActionListener {10 private InputStudentInformation inputStudentInformation; // 录入信息11 private ModifyStudentInformation modifyStudentInformation; // 修改信息12 private QueryStudentInformation queryStudentInformation; // 查询信息13 private DeleteStudentInformation deleteStudentInformation; // 删除信息14 private JMenuBar bar;// 菜单栏15 private JMenu fileMenu;16 private JMenuItem inputItem, modifyItem, queryItem, deleteItem,17 welcomeItem;// 各菜单项18 private HashMap informationTable = null; // 学生信息表19 private File file = null;20 private CardLayout card = null;21 private JLabel label = null;22 private JPanel pCenter;23 /**24 * 构造方法,初始化主界面25 */26 public InformationWindow() {27 informationTable = new HashMap();28 initFrame();29 setVisible(true);30 setBounds(100, 50, 380, 350);31 setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);32 addWindowListener(new WindowAdapter() {33 public void windowClosing(WindowEvent e) {34 int n = JOptionPane.showConfirmDialog(null, “确认退出吗?“ , “确认对话框“ ,35 JOptionPane.YES_NO_OPTION);36 if (n == JOptionPane.YES_OPTION)37 System.exit(0);38 }39 });40 setResizable(false);41 validate();42 }43 /**44 * 初始化主界面的各个组件45 */46 public void initFrame() {47 inputItem = new JMenuItem(“录入“ );48 modifyItem = new JMenuItem(“修改“);49 queryItem = new JMenuItem(“查询“ );50 deleteItem = new JMenuItem(“删除“);51 welcomeItem = new JMenuItem(“欢迎界面“);52 bar = new JMenuBar();53 fileMenu = new JMenu(“菜单选项“ );54 fileMenu.add(inputItem);55 fileMenu.add(modifyItem);56 fileMenu.add(queryItem);57 fileMenu.add(deleteItem);58 fileMenu.add(welcomeItem);59 bar.add(fileMenu);60 setJMenuBar(bar);61 label = new JLabel(“学籍管理系统“, JLabel.CENTER);62 label.setIcon(new ImageIcon(“welcome.jpg“));63 label.setFont(new Font(“隶书“, Font.BOLD, 36));64 label.setHorizontalTextPosition(SwingConstants.CENTER);65 label.setForeground(Color.red);66 informationTable = new HashMap();67 inputItem.addActionListener(this);68 modifyItem.addActionListener(this);69 queryItem.addActionListener(this);70 deleteItem.addActionListener(this);71 welcomeItem.addActionListener(this);72 card = new CardLayout();73 pCenter = new JPanel();74 pCenter.setLayout(card);75 file = new File(“基本信息.txt“ );76 if (!file.exists()) {77 try {78 FileOutputStream out = new FileOutputStream(file);79 ObjectOutputStream objectOut = new ObjectOutputStream(out);80 objectOut.writeObject(informationTable);81 objectOut.close();82 out.close();83 } catch (IOException e) {84 }85 }86 inputStudentInformation = new InputStudentInformation(file);87 modifyStudentInformation = new ModifyStudentInformation(file);88 queryStudentInformation = new QueryStudentInformation(file);89 deleteStudentInformation = new DeleteStudentInformation(file);90 pCenter.add(“欢迎界面 “, label);91 pCenter.add(“录入界面 “, inputStudentInformation);92 pCenter.add(“删除界面 “, deleteStudentInformation);93 pCenter.add(“查询界面 “, queryStudentInformation);94 pCenter.add(“修改界面 “, modifyStudentInformation);95 add(pCenter, BorderLayout.CENTER);96 }97 /**98 * 当点击录入、修改、查询、删除、欢迎菜单项时执行的操作99 */100 public void actionPerformed(ActionEvent e) {101 if (e.getSource() == inputItem) {102 inputStudentInformation.clearMessage();103 card.show(pCenter, “录入界面“);104 } else if (e.getSource() == modifyItem) {105 modifyStudentInformation.clearMessage();106 card.show(pCenter, “修改界面“);107 } else if (e.getSource() == queryItem) {108 queryStudentInformation.clearMessage();109 card.show(pCenter, “查询界面“);110 } else if (e.getSource() == deleteItem)111 card.show(pCenter, “删除界面“);112 else if (e.getSource() == welcomeItem)113 card.show(pCenter, “欢迎界面“);114 }115 /**116 * 启动系统117 */118 public static void main(String args[]) {119 new InformationWindow();120 }121 }2、Student.java该文件主要定义学生基本信息,实现对象的序列化。1 import java.io.File;2 import java.io.Serializable;3 /**4 * Student类,实现Serializable接口5 */6 public class Student implements Serializable{7 private File imagePic;8 private String number,name,sex,major,grade,birthday;9 public void setNumber(String number){10 this.number=number;11 }12 public String getNumber(){13 return number;14 }15 public void setName(String name){16 this.name=name;17 }18 public String getName(){19 return name;20 }21 public void setGrade(String grade){22 this.grade=grade;23 }24 public String getGrade(){25 return grade;26 }27 public void setSex(String sex){28 this.sex=sex;29 }30 public String getSex(){31 return sex;32 }33 public void setImagePic(File image){34 imagePic=image;35 }36 public File getImagePic(){37 return imagePic;38 }39 public String getMajor() {40 return major;41 }42 public void setMajor(String major) {43 this.major = major;44 }45 public String getBirthday() {46 return birthday;47 }48 public void setBirthday(String birthday) {49 this.birthday = birthday;50 }51 }3、StudentPicture.java该文件完成显示学生照片的功能。1 import javax.swing.*;2 import java.io.*;3 import java.awt.*;4 /**5 * 显示学生照片6 */7 public class StudentPicture extends JPanel {8 private File imageFile;// 存放图像文件的引用9 private Toolkit tool;// 负责创建Image 对象10 /**11 * 构造方法,初始化对象12 */13 public StudentPicture() {14 tool = getToolkit();15 setBorder(BorderFactory.createLineBorder(Color.black));16 setBorder(BorderFactory.createLoweredBevelBorder());17 }18 /**19 * 设置imageFile 对象20 */21 public void setImage(File imageFile) {22 this.imageFile = imageFile;23 repaint();24 }25 /**26 * 显示照片27 */28 public void paintComponent(Graphics g) {29 super.paintComponent(g);30 int w = getBounds().width;31 int h = getBounds().height;32 if (imageFile != null) {33 // 获得图像34 Image image = tool.getImage(imageFile.getAbsolutePath()); 35 g.drawImage(image, 0, 0, w, h, this);// 绘制图像36 } else37 g.drawString(“没有选择照片图像!“, 20, 30);38 }39 }4、InputStudentInformation.java该文件完成录入学生基本信息的功能。1 import java.awt.*;2 import java.awt.event.*;3 import javax.swing.*;4 import java.io.*;5 import java.util.*;6 import javax.swing.filechooser.*;7 /**8 * 录入学生信息类,负责提供录入学生信息的界面9 */10 public class InputStudentInformation extends JPanel implements ActionListener {11 private Student student = null;// 学生对象12 private StudentPicture studentPicture;// 学生图像13 private HashMap informationTable;14 private JTextField numberTField, nameTField, gradeTField, birthdayTField;15 private JButton picButton;// 选择照片按钮16 private JLabel promptLabel;//提示信息17 private JComboBox majorComBox; // 专业列表框18 private JRadioButton maleRButton, femaleRButton;// 单选按钮,选择男或者女19 private ButtonGroup buttonGroup = null;20 private JButton inputButton, resetButton;// 输入按钮、重置按钮21 private FileInputStream fileInputStream = null;// 文件输入流对象22 private ObjectInputStream objectInputStream = null;// 对象输入流对象23 private FileOutputStream fileOutputStream = null;// 文件输出流对象24 private ObjectOutputStream objectOutputStream = null;// 对象输出流对象25 private File systemFile, imagePic;26 private JPanel putButtonPanel;//录入和重置按钮的容器27 private JPanel messPanel,picPanel;//基本信息和照片的容器28 /**29 *构造方法 ,初始化录入界面30 */31 public InputStudentInformation(File file) {32 systemFile = file;33 studentPicture = new StudentPicture();34 informationTable = new HashMap();35 promptLabel = new JLabel(“请输入以下信息:“,JLabel.LEFT);36 promptLabel.setFont(new Font(“宋体“ ,Font.BOLD,13));//设置提示信息的字体37 promptLabel.setForeground(Color.RED);38 promptLabel.setOpaque(true);//设置为不透明39 promptLabel.setBackground(new Color(216,224,231));//设置背景颜色40 initMessPanel();41 initPutButtonJPanel();42 initPicPanel();43 setLayout(new BorderLayout());44 JSplitPane splitH = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,45 messPanel, picPanel);46 add(promptLabel,BorderLayout.NORTH);47 add(splitH, BorderLayout.CENTER);48 add(putButtonPanel, BorderLayout.SOUTH);49 validate();50 }51 /**52 * 初始化显示信息界面53 */54 public void initMessPanel(){55 JLabel numberLabel = new JLabel(“学号:“, JLabel.CENTER);56 numberTField = new JTextField(5);57 Box numberBox = Box.createHorizontalBox(); // 添加水平box58 numberBox.add(numberLabel);59 numberBox.add(numberTField);60 JLabel nameLabel = new JLabel(“姓名:“, JLabel.CENTER);61 nameTField = new JTextField(5);62 Box nameBox = Box.createHorizontalBox(); // 添加水平box63 nameBox.add(nameLabel);64 nameBox.add(nameTField);65 JLabel sexLabel = new JLabel(“性别:“ , JLabel.CENTER);66 maleRButton = new JRadioButton(“男“ , true);67 femaleRButton = new JRadioButton(“女“, false);68 buttonGroup = new ButtonGroup();69 buttonGroup.add(maleRButton);70 buttonGroup.add(femaleRButton);71 Box sexBox = Box.createHorizontalBox(); // 添加水平box72 sexBox.add(sexLabel);73 sexBox.add(maleRButton);74 sexBox.add(femaleRButton);75 JLabel majorLabel = new JLabel(“专业:“, JLabel.CENTER);76 majorComBox = new JComboBox();77 try {78 // 从文件中读入专业名称,加入到组合框中79 FileReader fileReader = new FileReader(“专业.txt“ );80 BufferedReader bufferedReader = new BufferedReader(fileReader);81 String s = null;82 int i = 0;83 while ((s = bufferedReader.readLine()) != null)84 majorComBox.addItem(s);85 fileReader.close();86 bufferedReader.close();87 } catch (IOException exp) {// 如有异常,将数学和计算机科学与技术加入组合框中88 majorComBox.addItem(“数学“ );89 majorComBox.addItem(“计算机科学与技术“);90 }91 Box majorBox = Box.createHorizontalBox(); // 添加水平box92 majorBox.add(majorLabel);93 majorBox.add(majorComBox);94 JLabel gradeLabel = new JLabel(“年级:“, JLabel.CENTER);95 gradeTField = new JTextField(5);96 Box gradeBox = Box.createHorizontalBox(); // 添加水平box97 gradeBox.add(gradeLabel);98 gradeBox.add(gradeTField);99 JLabel birthdayLabel = new JLabel(“出生 :“, JLabel.CENTER);100 birthdayTField = new JTextField(5);101 Box birthdayBox = Box.createHorizontalBox(); // 添加水平box102 birthdayBox.add(birthdayLabel);103 birthdayBox.add(birthdayTField);104 Box boxH = Box.createVerticalBox();105 boxH.add(numberBox);106 boxH.add(nameBox);107 boxH.add(sexBox);108 boxH.add(majorBox);109 boxH.add(gradeBox);110 boxH.add(birthdayBox);111 boxH.add(Box.createVerticalGlue()); // 添加垂直胶水112 messPanel = new JPanel();113 messPanel.add(boxH);114 }115 /**116 * 初始化照片部分的界面117 */118 public void initPicPanel(){119 JLabel picLabel = new JLabel(“照片:“,JLabel.LEFT);120 picButton = new JButton(“选择照片“ );121 picButton.addActionListener(this);122 picPanel = new JPanel();123 picPanel.setLayout(new BorderLayout());124 picPanel.add(picLabel,BorderLayout.NORTH);125 picPanel.add(studentPicture,BorderLayout.CENTER);126 picPanel.add(picButton,BorderLayout.SOUTH);127 }128 /**129 * 初始化录入、重置按钮界面130 */131 public void initPutButtonJPanel(){132 inputButton = new JButton(“录入“ );133 resetButton = new JButton(“重置“ );134 inputButton.addActionListener(this); // 添加事件监听对象135 resetButton.addActionListener(this); // 添加事件监听对象136 putButtonPanel = new JPanel();137 putButtonPanel.setBackground(new Color(216,224,231));138 putButtonPanel.add(inputButton);139 putButtonPanel.add(resetButton);
    展开阅读全文
    1
      金牌文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:学生信息管理系统.rar
    链接地址:http://www.gold-doc.com/p-255478.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们
    [email protected] 2014-2018 金牌文库网站版权所有
    经营许可证编号:浙ICP备15046084号-3
    收起
    展开