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

📄 grid.java

📁 网络版的学生成绩管理系统
💻 JAVA
字号:
import java.awt.*;import java.util.ArrayList;import java.util.Collection;import java.util.Collections;import java.util.Comparator;public class Grid extends Panel{   private static final int NUMBER_OF_ROWS = 10;   private Row[] r;    private int rowCount;   private ArrayList students;   private StudentListApp.rowClickAction rcListener;   public Grid()   {      students=new ArrayList();	  setLayout( new GridLayout(11,1) );//set layout 11行      add( new GridLabel() );            r = new Row[NUMBER_OF_ROWS];            for ( int count = 0 ; count < NUMBER_OF_ROWS ; count++ )      {         r[count] = new Row();//add rows         add(r[count]);               }   }   public void addrcListener(StudentListApp.rowClickAction l){	   this.rcListener=l;	   for(int i=0;i<NUMBER_OF_ROWS;i++)		   r[i].addrcListener(this.rcListener);   }   public int search(String idNum){	   for(int i=0;i<students.size();i++){			   Student stu=(Student)students.get(i);		   if(stu.getId().equals(idNum)){			  return i;		   }			   	   }	   return -1;   }   public void addRow(Student stu){	   	if(search(stu.getId())!=-1)			  throw new IllegalArgumentException("该ID已存在!");	   	   if(rowCount<NUMBER_OF_ROWS){		   students.add(stu);		   refreshRows();	   }	   else		   throw new IllegalArgumentException("学生数已满!");   }   public void delRow(String idNum){	   int idx=search(idNum);	   if(idx!=-1){			 students.remove(idx);			 refreshRows();			 return;	   }				   	   throw new IllegalArgumentException("未找到该项,删除失败!");   }   public void editRow(Student stu){	   int idx=search(stu.getId());	   if(idx!=-1){		   students.remove(idx);//删除原对象		   students.add(stu);//加入新对象 相同ID.		   refreshRows();	   }else		   throw new IllegalArgumentException("未找到该项,修改失败!");   }   public void sortRow(){	   Comparator comp = new Mycomparator();       Collections.sort(students,comp);         refreshRows();   }   public Student getRow(String id){	   int idx=search(id);	   if(idx!=-1)		   return (Student)students.get(idx);	   else		   return null;   }   /**    * 刷新各行数据    */   public void refreshRows(){	   for(int i=0;i<r.length;i++)		   r[i].clearAll();	   for(int i=0;i<students.size();i++){		   r[i].setTextFields((Student)students.get(i));	   }   }   }class Mycomparator implements Comparator{    public int compare(Object o1,Object o2) {        Student s1=(Student)o1;        Student s2=(Student)o2;         if(s1.getScore()<s2.getScore())           return 1;       else           return 0;       }}

⌨️ 快捷键说明

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