简单实现Java版学生管理系统

 更新时间:2021年09月14日 16:04:36   作者:zjq_1314520  
这篇文章主要为大家详细介绍了简单实现Java版学生管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了Java实现学生管理系统的具体代码,供大家参考,具体内容如下

package BookDemo_1; 
 
import javax.swing.*; 
 
import java.awt.*; 
import java.awt.event.*; 
 
public class Test { 
 public static void main(String[] args) { 
 StudentSys stuSys=new StudentSys("学生管理系统"); 
 stuSys.initWin(); 
 } 
} 
class StudentSys extends JFrame{ 
 
 private JPanel p1,p2,p3,combop; 
 private JTabbedPane tab; 
 private Container container; 
 private JButton b1,b2; 
 private Listener listener; 
 private Label nameLabel; 
 private Label gradeLabel; 
 private Label showLabel; 
 private JTextField textName; 
 private JTextField textGrade; 
 private TextArea showGradeArea; 
 /* 
 * 查找 
 * */ 
 private Label searchLabel; 
 private JTextField searchText; 
 private JButton sBut; 
 private JTextField resultText; 
 private String[] name; 
 private String[] grade; 
 
 /* 
 * 排序 
 * */ 
 private TextArea showTextArea; 
 private JButton sortBut; 
 private int countNum=0; 
 private JButton clearBut; 
 public StudentSys(String str){ 
 super(str); 
  
 this.name=new String[100]; 
 this.grade=new String[100]; 
 listener = new Listener(); 
 tab = new JTabbedPane(JTabbedPane.TOP); 
 //容器 
 container = this.getLayeredPane(); 
 //对象化面板 
 combop = new JPanel(); 
 p1 = new JPanel(); 
 p2 = new JPanel(); 
 p3 = new JPanel(); 
  
 b1 =new JButton("确认添加"); 
 b2 =new JButton("撤回添加"); 
 nameLabel =new Label("姓名"); 
 gradeLabel =new Label("成绩"); 
  
 showLabel=new Label("当前记录为零!    "); 
  
 textName =new JTextField(15); 
 textGrade =new JTextField(15); 
 showGradeArea=new TextArea(); 
  
 /* 
 * 查找 
 * */ 
 searchLabel=new Label("请输入姓名:"); 
 searchText=new JTextField(15); 
 sBut=new JButton("确认查找"); 
 resultText=new JTextField(15); 
 /* 
 * 排序 
 * */ 
 showTextArea=new TextArea(); 
 sortBut=new JButton("成绩排序"); 
 clearBut=new JButton("清空数据"); 
 } 
 public void initWin(){ 
 this.setBounds(300, 300, 500, 400); 
 this.addWindowListener(new WindowAdapter(){ 
  public void windowClosing(WindowEvent e) { 
  super.windowClosing(e); 
  System.exit(0); 
  }}); 
  layoutWin(); 
  this.setVisible(true); 
 } 
 private void layoutWin(){ 
  
 tab.add(p1,"成绩输入"); 
 tab.add(p2,"成绩查询"); 
 tab.add(p3,"成绩排序"); 
 combop.add(new JLabel("学生信息管理系统")); 
 container.setLayout(new BorderLayout()); 
 container.add(combop,BorderLayout.NORTH); 
 container.add(tab,BorderLayout.CENTER); 
  
 Container con1=new Container(); 
 con1.setLayout(new FlowLayout()); 
 con1.add(nameLabel); 
 con1.add(textName); 
  
 con1.add(gradeLabel); 
 con1.add(textGrade); 
 p1.add(con1,BorderLayout.NORTH); 
 p1.add(con1); 
 p1.add(showGradeArea); 
  
 Container con2=new Container(); 
 con2.setLayout(new FlowLayout()); 
 con2.add(b1); 
 con2.add(b2); 
 con2.add(showLabel); 
 p1.add(con2); 
 b1.addActionListener(listener); 
 b2.addActionListener(listener); 
 /* 
 * 查找布局 
 * */ 
  
 Container con3=new Container(); 
 con3.setLayout(new FlowLayout()); 
 con3.add(searchLabel); 
 con3.add(searchText); 
 con3.add(sBut); 
 p2.add(con3,BorderLayout.NORTH); 
 sBut.addActionListener(listener); 
 p2.add(resultText); 
 /* 
 * 排序布局 
 * */ 
 p3.add(showTextArea); 
 p3.add(sortBut); 
 p3.add(clearBut); 
 sortBut.addActionListener(listener); 
 clearBut.addActionListener(listener); 
 } 
 /* 
 * java内部类实现ActionListener接口 
 * */ 
 class Listener implements ActionListener{ 
 @Override 
  public void actionPerformed(ActionEvent e) { 
  
  if(e.getSource()==b1){ 
   
  if((textName.getText().equals(""))||(textGrade.getText().equals(""))){ 
   showLabel.setText("添加失败(姓名,成绩不能有空)!"); 
  } 
  else{ 
   name[countNum]=textName.getText(); 
   grade[countNum]=textGrade.getText(); 
   countNum++; 
   String area="添加成功,当前有"+countNum+"条记录"; 
   showLabel.setText(area); 
   sortMess(false); 
   textName.setText(""); 
   textGrade.setText(""); 
  } 
   
  } 
  if(e.getSource()==b2){ 
  if(countNum>0){ 
   countNum--; 
   String area="撤回成功,当前有"+countNum+"条记录"; 
   showLabel.setText(area); 
   sortMess(false); 
  } 
  } 
  if(e.getSource()==sBut){ 
  if(!searchText.getText().equals("")){ 
   searchMess(searchText.getText()); 
  } 
  } 
  if(e.getSource()==sortBut){ 
  sortMess(true); 
  } 
  if(e.getSource()==clearBut){ 
  if(!showTextArea.getText().equals("")){ 
   showTextArea.setText(""); 
   } 
  } 
 } 
  
 public void sortMess(boolean sign) { 
  // TODO Auto-generated method stub 
  if(sign){ 
  for(int i=0;i<countNum;i++){ 
   for(int j=i+1;j<countNum;j++){ 
   if(Integer.parseInt(grade[i])<Integer.parseInt(grade[j])){ 
    String s1,s2; 
    s1=name[i]; 
    s2=grade[i]; 
    
    name[i]=name[j]; 
    grade[i]=grade[j]; 
    
    name[j]=s1; 
    grade[j]=s2; 
   } 
   } 
  } 
  }else{ 
  
  if(!showGradeArea.getText().equals("")){ 
   showGradeArea.setText(""); 
  } 
  } 
  for(int i=0;i<countNum;i++){ 
  String content="姓名:"+name[i]+"\t"+"成绩"+grade[i]; 
  if(sign)showTextArea.append(content+"\n"); 
  else showGradeArea.append(content+"\n"); 
  } 
 } 
  
 public void searchMess(String n) { 
  // TODO Auto-generated method stub 
  
  for(int i=0;i<countNum;i++){ 
  if(name[i].equals(n)){ 
   String content="姓名:"+name[i]+","+"成绩"+grade[i]; 
   resultText.setText(content); 
   return; 
  } 
  } 
  resultText.setText("未找到该学生!"); 
 } 
 } 
} 

更多学习资料请关注专题《管理系统开发》。

 以上就是本文的全部内容,希望对大家学习Java程序设计有所帮助。

相关文章

  • Java 实战项目之CRM客户管理系统的实现流程

    Java 实战项目之CRM客户管理系统的实现流程

    读万卷书不如行万里路,只学书上的理论是远远不够的,只有在实战中才能获得能力的提升,本篇文章手把手带你用java+SSM+jsp+mysql+maven实现一个CRM客户管理系统,大家可以在过程中查缺补漏,提升水平
    2021-11-11
  • java非法字符‘\ufeff‘解决方法

    java非法字符‘\ufeff‘解决方法

    本文主要介绍了java非法字符‘\ufeff‘解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • Spring容器中已经存在的Bean替换示例

    Spring容器中已经存在的Bean替换示例

    这篇文章主要为大家介绍了Spring容器中已经存在的Bean替换示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • 数据库CURD必备搭档mybatis plus详解

    数据库CURD必备搭档mybatis plus详解

    这篇文章主要为大家介绍了数据库CURD必备搭档mybatis plus详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • SpringCloud对服务内某个client进行单独配置的操作步骤

    SpringCloud对服务内某个client进行单独配置的操作步骤

    我们的微服务项目用的是springCloud,某个微服务接口因为数据处理量大,出现了接口超时的情况,我们需要单独修改这一个feignClient的超时时间,所以本文介绍了SpringCloud对服务内某个client进行单独配置的操作步骤,需要的朋友可以参考下
    2023-10-10
  • 一文深入理解Java中的java.lang.reflect.InvocationTargetException错误

    一文深入理解Java中的java.lang.reflect.InvocationTargetException错误

    这篇文章主要给大家介绍了关于Java中java.lang.reflect.InvocationTargetException错误的相关资料,java.lang.reflect.InvocationTargetException是Java中的一个异常类,它通常是由反射调用方法时抛出的异常,需要的朋友可以参考下
    2024-03-03
  • SpringBoot快速入门及起步依赖解析(实例详解)

    SpringBoot快速入门及起步依赖解析(实例详解)

    SpringBoot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化 Spring 应用的初始搭建以及开发过程,这篇文章主要介绍了SpringBoot快速入门及起步依赖解析,需要的朋友可以参考下
    2022-10-10
  • Java为什么基本数据类型不需要进行创建对象?

    Java为什么基本数据类型不需要进行创建对象?

    今天小编就为大家分享一篇关于Java为什么基本数据类型不需要进行创建对象?,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04
  • SpringBoot 使用WebSocket功能(实现步骤)

    SpringBoot 使用WebSocket功能(实现步骤)

    本文通过详细步骤介绍了SpringBoot 使用WebSocket功能,首先需要导入WebSocket坐标,编写WebSocket配置类,用于注册WebSocket的Bean,结合示例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-02-02
  • Java自定义实现链队列详解

    Java自定义实现链队列详解

    这篇文章主要为大家详细介绍了Java自定义实现链队列的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12

最新评论