⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 scoresystem.java

📁 用JAVA编写的学生管理系统(有界面),可以实现添加查询修改等功能
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

class Student{
        public String number,name;
	public float score;
        
	public Student(String number, String name, float score){
		this.number=number;
		this.name=name;
		this.score=score;
	}
	public String toString(){  
		String temp="";      
		temp+=number+"           "+name+"                "+String.valueOf(score);
		return temp;
	}
};

public class ScoreSystem{
    JFrame frame;
    JList list1;
    JDialog dup,dsele,davg;
    JPanel p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,pscren;
    JLabel lnum,lnam,lsco,l4,l5,l6,l7,l8,l9,l10,lnum1,lnam1,lsco1,l14;
    JTextField tfnum,tfnam,tfsco,tf4,tf5,tf6,tf7,tf8,tf9,tf10;
    JButton binput,bselect,bdele,bupdate,bavg,bpaixu,bok,bsele2;
    DefaultListModel listModel;
    String number[]={"510704114","510704115","510704117","510704118","510704119","","","","","","",""};//文本数组
    String name[]={"戴志杰","张承志","刘步伟","JORDAN","李炳辉","","","","","","",""};
    float score[]={98,90,89,80,85,0,0,0,0,0};
    
    public static void main(String args[]){
       ScoreSystem SS=new ScoreSystem();
       SS.be();
    }
    public void be(){
        frame=new JFrame("计应051 戴志杰");  ///////////////////////////////////////////////
        
        listModel=new DefaultListModel();                                              //
       
        list1=new JList(listModel);   //创建列表                                         //
        JScrollPane jsp=new  JScrollPane(list1,  
                JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
                JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);//加入滚动条
        listModel.addElement(new Student(number[0],name[0],score[0]));                 //
        listModel.addElement(new Student(number[1],name[1],score[1]));
        listModel.addElement(new Student(number[2],name[2],score[2]));
        listModel.addElement(new Student(number[3],name[3],score[3]));
        listModel.addElement(new Student(number[4],name[4],score[4]));                 //
        Container contentPane=frame.getContentPane();
        contentPane.add(jsp,BorderLayout.WEST);
        
        //创建多个JButton实例                                                             //
        binput=new JButton("添加");
        bselect=new JButton("查询");
        bdele=new JButton("删除");
        bupdate=new JButton("修改");
        bavg=new JButton("平均分");
        bpaixu=new JButton("排序");
        
        //将六个按钮添加到第一个面板
        p1=new JPanel();
        p1.setLayout(new GridLayout(1,6));
        p1.add(binput);
        p1.add(bselect);
        p1.add(bdele);        
        p1.add(bupdate);
        p1.add(bavg);
        p1.add(bpaixu);
        contentPane.add(p1,BorderLayout.SOUTH);//添加面板到南部
     
       
        lnum=new JLabel("学号:");                                                        //
        tfnum=new JTextField(10);  
        p2=new JPanel();
        p2.add(lnum);
        p2.add(tfnum);
        
        lnam=new JLabel("姓名:");
        tfnam=new JTextField(10);
        p3=new JPanel();
        p3.add(lnam);
        p3.add(tfnam); 
        
        lsco=new JLabel("成绩:");
        tfsco=new JTextField(10);
        p4=new JPanel();
        p4.add(lsco);
        p4.add(tfsco);
        
        p5=new JPanel();
        p5.setLayout(new GridLayout(3,1));                                                //
        p5.add(p2);
        p5.add(p3);
        p5.add(p4);
        contentPane.add(p5,BorderLayout.EAST);//用一个面板将含有三个文本输入的面板放在整体东恻
     
        //显示内容窗格上部:学号姓名等的提示信息
        pscren=new JPanel();
        pscren.setLayout(new GridLayout(1,4));                                            //
        lnum1=new JLabel("学号");
        lnam1=new JLabel("姓名");
        lsco1=new JLabel("成绩");
        l14=new JLabel("请输入学生信息:");
        pscren.add(lnum1);
        pscren.add(lnam1);                                                                   //
        pscren.add(lsco1);
        pscren.add(l14);
        contentPane.add(pscren,BorderLayout.NORTH);                        // // // // // // //     整体界面         
        
        //binput按钮的监听事件实现添加
        binput.addActionListener(new ActionListener(){  
            public void actionPerformed(ActionEvent e){
                Student student; int k=0;
                for(int j=0;j<listModel.getSize();j++){
                 student=(Student)listModel.getElementAt(j);
                 if(tfnum.getText().equals(student.number)){String warning="对不起,你输入的学号已存在";
                  JOptionPane.showMessageDialog(pscren,warning,"警告",JOptionPane.INFORMATION_MESSAGE);
                    break; }
                 else{ k=1;break;}
                  }
                 if(k==1){ for(int i=0;i<10;i++){
                        if( number[i]==""){
                            number[i]=tfnum.getText();
                          name[i]=tfnam.getText();
                          score[i]=Float.valueOf(tfsco.getText());
                           listModel.addElement(new Student(number[i],name[i],score[i]));
                           String warning="输入成功";
                  JOptionPane.showMessageDialog(pscren,warning,"提示",JOptionPane.INFORMATION_MESSAGE);
                        break;
                    }  
                }   
        }  
     }
  });
         bselect.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                dsele.setVisible(true);
            }
            });
        
        /////////////////////////////////////////////////////////////////////////////////   实现查询功能 
         //创建对话框dsele并设置添加其有关组件
        dsele=new JDialog(frame,"查询成绩",false);
        l7=new JLabel("请输入学号    ");//创建多个标签 
        tf7=new JTextField(10);//输入新可选项的文本域
        bsele2=new JButton("查询");
        p10=new JPanel();
        p10.add(l7);
        p10.add(tf7);
        p10.add(bsele2);
        l8=new JLabel("姓名");
        tf8=new JTextField(10);
        p11=new JPanel();
        p11.add(l8);
        p11.add(tf8);
        l9=new JLabel("成绩");
        tf9=new JTextField(10);
        p12=new JPanel();
        p12.add(l9);
        p12.add(tf9);
        dsele.getContentPane().setLayout(new GridLayout(3,1));
        dsele.getContentPane().add(p10);
        dsele.getContentPane().add(p11);
        dsele.getContentPane().add(p12);        
        dsele.setSize(300,150);
      bsele2.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
             Student student; 
             for(int i=0;i<listModel.getSize();i++){
                 student=(Student)listModel.getElementAt(i);
                 if(tf7.getText().equals(student.number)){
                     tf8.setText(student.name);
                     tf9.setText(String.valueOf(student.score));
                     break;
                  }
                 else{
                     if(i==listModel.getSize()-1)
                     { String warning="对不起,你输入的学号不存在";
                  JOptionPane.showMessageDialog(pscren,warning,"警告",JOptionPane.WARNING_MESSAGE);}
                 }
               }
               dsele.setVisible(true);
           }
        });////////////////////////////////////////////////////////////////////////////////////////////////
       
        ///////////////////////////////////////////////////////////////////////////“删除”事件
        bdele.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                int index = list1.getSelectedIndex();
                        listModel.remove(index);
                        int size = listModel.getSize();
                       if ( index==listModel.getSize() )
                                { index--;
                                   list1.setSelectedIndex(index);
                                }
        }
        }); 
    ////////////////////////////////////////////////////////////////////////////////////// 
  //////////////////////////////////////////////////////////////////////////////////////// “修改”事件   
        //创建并设置bupdate按钮的对话框dup
        dup=new JDialog(frame,"修改信息",true);
        dup.setSize(240,150);
        dup.getContentPane().setLayout(new GridLayout(4,1));
       
        bupdate.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                Toolkit.getDefaultToolkit().beep();
                  dup.setVisible(true);
            }
        });
        
        //创建并设置对话框dup的组件
        l4=new JLabel("学号:");
        tf4=new JTextField(10);
        p6=new JPanel();
        p6.add(l4);
        p6.add(tf4);
        
        l5=new JLabel("姓名:");
        tf5=new JTextField(10);
        p7=new JPanel();
        p7.add(l5);
        p7.add(tf5);
        
        l6=new JLabel("成绩:");
        tf6=new JTextField(10);
        p8=new JPanel();
        p8.add(l6);
        p8.add(tf6);
        
        bok=new JButton("确定");
        p9=new JPanel();
        p9.add(bok);
        
        dup.getContentPane().setLayout(new GridLayout(4,1));
        dup.getContentPane().add(p6);
        dup.getContentPane().add(p7);
        dup.getContentPane().add(p8);
        dup.getContentPane().add(p9);
        
        //修改"ok"时所加的监听
        bok.addActionListener(new ActionListener(){ 
	  public void actionPerformed(ActionEvent e){
             Student stu1=(Student)list1.getSelectedValue();
             Student stu2;
             for(int i=0;i<listModel.getSize();i++){
                 stu2=(Student)listModel.getElementAt(i);
                 if(stu2.number.equals(stu1.number)){
                     listModel.remove(i);  
                     stu1.name=tf5.getText();
                     stu1.score=(Float.parseFloat(tf6.getText()));
                     listModel.insertElementAt(stu1,i);     
                     number[i]=tf4.getText();
                     name[i]=tf5.getText();
                     score[i]=Float.valueOf(tf6.getText());
                     break;
                  }
              
               }
               dup.setVisible(false);
           }
        });
     ///////////////////////////////////////////////////////////////////////////////////////  
          
            
       
///////////////////////////////////////////////////////////////////////“平均分”
        //创建对话框davg并添加设置其有关组件
        davg=new JDialog(frame,"平均分",true);
        l10=new JLabel("目前平均分为:");
        tf10=new JTextField(10);
        p13=new JPanel();
        p13.setBackground(Color.CYAN);
        p13.add(l10);
        p13.add(tf10);
        davg.getContentPane().add(p13);
     
        //实现求平均分功能
        bavg.addActionListener(new ActionListener(){ 
	  public void actionPerformed(ActionEvent e){
             Student stu4; 
             int n=listModel.getSize();
             float sum=0;
             for(int i=0;i<listModel.getSize();i++){
                 stu4=(Student)listModel.getElementAt(i);
                 sum+=stu4.score;
             }
              tf10.setText(String.valueOf(sum/n));
               davg.setVisible(true);
           }
        });        
        davg.setSize(150,100);
      /////////////////////////////////////////////////////////////////
        bpaixu.addActionListener(new ActionListener(){  
            public void actionPerformed(ActionEvent e){String warning="抱歉,该功能暂未实现";
                  JOptionPane.showMessageDialog(pscren,warning,"抱歉",JOptionPane.INFORMATION_MESSAGE);
                
            }});
        
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.pack();//将JFrame 设置到适当大小
        frame.setVisible(true);
    }
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -