栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java学生信息管理系统MVC架构详解

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java学生信息管理系统MVC架构详解

本文实例为大家分享了java学生信息管理系统MVC架构,供大家参考,具体内容如下

一、项目结构

        学生信息管理系统分三层进行实现。student.java主要提供数据,cotroller.java的功能是绑定试图和计算数据。Stuview.java用于单一的用来显示数据。

二、源码

1.1、Student 类

 
import java.io.Serializable; 
 
 
public class Student implements Serializable { 
  //序列化id 
  private static final long serialVersionUID = 9088453456517873574L; 
  int num; 
  String name; 
  String sex; 
  int age; 
  float grade; 
   
  public Student(int num ,String nameString,String sexString,int g,float f){ 
    this.num =num; 
    name = nameString; 
    sex =sexString; 
    age =g; 
    grade =f; 
  } 
   
   
  public int getNum(){ 
    return num; 
  } 
 
  public String getName(){ 
    return name; 
  } 
 
  public String getSex(){ 
    return sex; 
  } 
 
  public int getAge(){ 
    return age; 
  } 
 
  public float getGrades(){ 
    return grade; 
  } 
   
  public String toString(){ 
    return "姓名:"+name+"学号:"+num+"性别:"+sex+"年龄:"+age+"成绩:"+grade; 
     
  } 
 
} 

1.2、Cotroller类

 
import java.io.FileInputStream; 
import java.io.FileNotFoundException; 
import java.io.FileOutputStream; 
import java.io.IOException; 
import java.io.ObjectInputStream; 
import java.io.ObjectOutputStream; 
import java.util.ArrayList; 
import java.util.Iterator; 
 
 
 
public class Cotroller { 
   
  //student数据集合 
  private ArrayList list; 
   
  public Cotroller(ArrayList l){ 
    this.list =l; 
  } 
   
   
  public ArrayList getList() 
  { 
    return list; 
  } 
   
   
  public void setList(ArrayList list) 
  { 
    this.list = list; 
  } 
   
   
  public void add(Student s) 
  { 
    list.add(s); 
  } 
   
   
  public void remove(int id) 
  { 
    for(Iterator iter = list.iterator(); iter.hasNext();) 
    { 
      Student s = iter.next(); 

      if(s.getNum() == id) 
      { 
 list.remove(s); 
      } 
    } 
  } 
 
   
  public String printAll(int i) { 
     return list.get(i).toString(); 
  } 
   
   
  public void fileOt() throws FileNotFoundException{ 
    FileOutputStream fo = new FileOutputStream("/home/nazi/2.txt"); 
    try { 
      ObjectOutputStream so = new ObjectOutputStream(fo); 
      so.writeObject(list); 
      so.close(); 
    } catch (IOException e) { 
      e.printStackTrace(); 
    } 
     
  } 
 
   
  @SuppressWarnings("unchecked") 
  public void fileIn() throws FileNotFoundException{ 
    FileInputStream fi = new FileInputStream("/home/nazi/2.txt"); 
    try { 
      ObjectInputStream si = new ObjectInputStream(fi); 
      list = (ArrayList) si.readObject(); 
      si.close(); 
    } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
    } catch (ClassNotFoundException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
    } 
  } 
   
   
   
 
} 

1.3、StuView类

 
import java.awt.Font; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import java.io.FileNotFoundException; 
import java.util.ArrayList; 
import javax.swing.JButton; 
import javax.swing.Jframe; 
import javax.swing.JLabel; 
import javax.swing.Jtextarea; 
import javax.swing.JTextField; 
 
 
 
public class StuView {  
  private static Cotroller cotroller; 
  public static void main(String args[]){ 
    //创建管理者 
    cotroller = new Cotroller(new ArrayList()); 
    //界面 
    initframe(); 
  } 
   
   
  protected static void initframe(){ 
      Jframe frame = new Jframe("学生信息管理系统"); 
      frame.setSize(600,600); 
      frame.setLocation(500, 100); 
      frame.setLayout(null); 
      //生成组件 
      final JTextField name = new JTextField(); 
      name.setBounds(79, 10, 103, 25); 
      final JTextField num = new JTextField(); 
      num.setBounds(79, 53, 103, 25); 
      final JTextField sex = new JTextField(); 
      sex.setBounds(79, 101, 103, 25); 
      final JTextField age = new JTextField(); 
      age.setBounds(79, 161, 103, 25); 
      final JTextField g1 = new JTextField(); 
      g1.setBounds(79, 216, 103, 25); 
 
      final Jtextarea show = new Jtextarea(); 
      show.setBounds(194, 12, 388, 274); 
      frame.add(show); 
      show.setFont(new Font("Serif",Font.BOLD,18)); 
     


      frame.add(show); 
      frame.add(name); 
      frame.add(num); 
      frame.add(sex); 
      frame.add(age); 
      frame.add(g1); 
      frame.add(show); 

      JLabel label = new JLabel("学号:"); 
      label.setBounds(12, 55, 63, 13); 
      frame.getContentPane().add(label); 

      JLabel label_1 = new JLabel("姓名:"); 
      label_1.setBounds(12, 10, 63, 13); 
      frame.getContentPane().add(label_1); 

      JLabel label_2 = new JLabel("性别:"); 
      label_2.setBounds(12, 110, 63, 13); 
      frame.getContentPane().add(label_2); 

      JLabel label_3 = new JLabel("年龄:"); 
      label_3.setBounds(12, 167, 63, 13); 
      frame.getContentPane().add(label_3); 

      JLabel label_4 = new JLabel("成绩:"); 
      label_4.setBounds(12, 226, 70, 13); 
      frame.getContentPane().add(label_4); 



      //添加学生 
      JButton btnAdd =new JButton("添加"); 
      btnAdd.setBounds(12, 362, 104, 23); 
      frame.add(btnAdd); 
      btnAdd.addActionListener(new ActionListener() { 
 public void actionPerformed(ActionEvent arg0) { 
   Student s1 = new Student(Integer.parseInt(num.getText()),name.getText(), sex.getText(),Integer.parseInt(age.getText()),Integer.parseInt(g1.getText())); 
   //放到集合 
   cotroller.getList().add(s1); 
   //打印 
   for(int i = 0;i

三、运行效果(初始界面、添加界面、刷新界面)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/143190.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号