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

 更新时间:2021年09月14日 16:04:36   作者:zjq_1314520  
这篇文章主要为大家详细介绍了简单实现Java版学生管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

本文实例为大家分享了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程序设计有所帮助。

相关文章

  • JAVAEE model1模型实现商品浏览记录(去除重复的浏览记录)(一)

    JAVAEE model1模型实现商品浏览记录(去除重复的浏览记录)(一)

    这篇文章主要为大家详细介绍了JAVAEE model1模型实现商品浏览记录,去除重复的浏览记录,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • Java实现限定时间CountDownLatch并行场景

    Java实现限定时间CountDownLatch并行场景

    本文将结合实例代码,介绍Java实现限定时间CountDownLatch并行场景,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2021-07-07
  • idea mybatis配置log4j打印sql语句的示例

    idea mybatis配置log4j打印sql语句的示例

    本篇文章主要介绍了idea mybatis配置log4j打印sql语句的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • 在SpringBoot中添加Redis及配置方法

    在SpringBoot中添加Redis及配置方法

    这篇文章主要介绍了在SpringBoot中添加Redis及配置redis的代码,需要的朋友可以参考下
    2018-10-10
  • Java代码执行shell命令的实现

    Java代码执行shell命令的实现

    这篇文章主要介绍了Java代码执行shell命令的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Java经典设计模式之装饰器模式解析

    Java经典设计模式之装饰器模式解析

    这篇文章主要介绍了Java经典设计模式之装饰器模式解析,装饰器模式主要解决继承关系过于复杂的问题,通过组合来替代继承,指在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式,需要的朋友可以参考下
    2023-08-08
  • Spring纯注解配置实现代码示例解析

    Spring纯注解配置实现代码示例解析

    这篇文章主要介绍了Spring纯注解配置实现代码示例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • 在Java8与Java7中HashMap源码实现的对比

    在Java8与Java7中HashMap源码实现的对比

    这篇文章主要介绍了在Java8与Java7中HashMap源码实现的对比,内容包括HashMap 的原理简单介绍、结合源码在Java7中是如何解决hash冲突的以及优缺点,结合源码以及在Java8中如何解决hash冲突,balance tree相关源码介绍,需要的朋友可以参考借鉴。
    2017-01-01
  • Java带default方法接口的应用示例

    Java带default方法接口的应用示例

    这篇文章主要介绍了Java带default方法接口的应用,结合实例形式分析了java带default方法接口定义、用法及相关操作注意事项,需要的朋友可以参考下
    2019-08-08
  • Mybatis Plus 代码生成器的实现

    Mybatis Plus 代码生成器的实现

    这篇文章主要介绍了Mybatis Plus 代码生成器的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03

最新评论

?


http://www.vxiaotou.com