简单实现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程序设计有所帮助。

相关文章

  • zookeeper实现分布式锁

    zookeeper实现分布式锁

    这篇文章主要为大家详细介绍了基于zookeeper实现分布式锁,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • springboot+redis 实现分布式限流令牌桶的示例代码

    springboot+redis 实现分布式限流令牌桶的示例代码

    这篇文章主要介绍了springboot+redis 实现分布式限流令牌桶 ,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • SpringBoot拦截器的配置使用介绍

    SpringBoot拦截器的配置使用介绍

    拦截器可以用来实现未满足某些条件,不容许访问某些资源。SpringBoot 支持拦截器,本文主要介绍拦截器的使用与原理
    2022-10-10
  • java sqlserver text 类型字段读取方法

    java sqlserver text 类型字段读取方法

    有这样一个需求,需要将原本存储在数据库中的文档转存至文件系统中,于是写了一个简单的程序完成此功能
    2012-11-11
  • SpringBoot项目报错:"Error starting ApplicationContext...."解决办法

    SpringBoot项目报错:"Error starting ApplicationContext....

    这篇文章主要给大家介绍了关于SpringBoot项目报错:“Error starting ApplicationContext. To display the conditions report re-run ...”的解决办法,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • Maven安装及MyEclipse中使用Maven

    Maven安装及MyEclipse中使用Maven

    这篇文章主要为大家详细介绍了Maven安装步骤,及MyEclipse中如何使用Maven,感兴趣的小伙伴们可以参考一下
    2016-07-07
  • Spring存储与读取Bean对象方法

    Spring存储与读取Bean对象方法

    在Spring中,要想更简单的存储和读取对象的核心是使用注解,这篇文章主要给大家介绍了关于Spring如何通过注解存储和读取对象的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-01-01
  • Java编程中使用XFire框架调用WebService程序接口

    Java编程中使用XFire框架调用WebService程序接口

    这篇文章主要介绍了Java编程中使用XFire调用WebService程序接口的方法,WebService是一种跨编程语言和跨操作系统平台的远程调用技术,需要的朋友可以参考下
    2015-12-12
  • java字符串格式化(String类format方法)

    java字符串格式化(String类format方法)

    这篇文章主要介绍了java字符串格式化(String类format方法),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • Java整合mybatis实现过滤数据

    Java整合mybatis实现过滤数据

    这篇文章主要介绍了Java整合mybatis实现过滤数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2023-01-01

最新评论