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

📄 student.java~260~

📁 图形化界面
💻 JAVA~260~
📖 第 1 页 / 共 4 页
字号:
  }
  void setName(String stb)
  {
   name=stb;
  }
  String getName()
 {
  return name;
 }
 void setNumber(String stb)
 {
   number=stb;
 }
 String getNumber()
  {
  return number;
  }
 void setToclass(String stb)
  {
    toClass=stb;
  }
 String getToclass()
  {
    return toClass;
  }
 void setSex(String stb)
  {
    sex=stb;
  }
 String getSex()
  {
    return sex;
  }
 void setMarks(float[] fl)
  {
    for(int i=0;i<6;i++)
    {
        mark[i]=fl[i];
    }
  }
  float getMark(int n)
   {
       return mark[n];
   }

  void setAverage(float f)
  {
         average=f;
  }
  float getAverage()
   {
       return average;
   }

   void setIndex(int n)
   {
         index=n;
   }
   int getIndex()
    {
       return index;
    }
 }
//学生基本信息数据库类结束

//整体排序类开始
class getAveIndex
 {
  int i,j;
  float[]a=new float[20];//这里先暂时设为20的处理量,可以修改
  int[]ind=new int[20];
  getAveIndex()
   {
   if(!NewSetStudent.isEmpty())
     {
     for(i=0;i<a.length ;i++)
      {
        a[i]=0;
        ind[i]=1;
      }
     for(i=0;i<NewSetStudent.size() ;i++)
        a[i]=((setStudent) NewSetStudent.elementAt(i)).getAverage();
     for(i=0;i<NewSetStudent.size();i++)
       for(j=0;j<NewSetStudent.size();j++)
       if(a[i]<a[j]) (ind[i])++;
     for(i=0;i<NewSetStudent.size();i++)
        ((setStudent) NewSetStudent.elementAt(i)).setIndex(ind[i]);
     }
   }
 }
class seachFrame extends Frame implements ItemListener,ActionListener
  {
   CheckboxGroup seachWays;
   Checkbox na,nu,id;
   Button close;
   TextField seachInput;
   TextArea tea;
   boolean seach=false;

   seachFrame()
   {
    super("查找");
    seachWays = new CheckboxGroup();
    na = new Checkbox("按名字", true, seachWays);
    nu = new Checkbox("按学号", false, seachWays);
    id = new Checkbox("按名次", false, seachWays);
    seachInput=new TextField(8);
    close=new Button("取消");
    tea = new TextArea(10,90);

    setLayout(new FlowLayout());//这一句至关重要,单选按钮组就靠它了
    add(seachInput);
    add(na);
    add(nu);
    add(id);
    add(close);
    add(tea);

    na.addItemListener(this);
    nu.addItemListener(this);
    id.addItemListener(this);
    close.addActionListener(this);
    addWindowListener(new closeWin());

    tea.setText("姓名\t学号\t班级\t性别\tJava\t汇编\t计组\t英语"
                 +"\t随机\t图论\t均分\t名次\n");
    setSize(750,250);
    setLocation(100,100);
    setVisible(true);
    show();
  }
 public void itemStateChanged(ItemEvent ie)
  {
    String str=seachInput.getText();
    int i=0,j;
    Checkbox choose=new Checkbox();
    String[] srta=new String[6];
    if (ie.getItemSelectable()instanceof Checkbox)
     {
        choose=(Checkbox)(ie.getItemSelectable());
         if (choose.getLabel() == "按名字")
           {
            for (i = 0; i < NewSetStudent.size(); i++)
             {
            if(((setStudent)NewSetStudent.elementAt(i)).getName().equals(str))
              {
                tea.append(
                    ((setStudent) NewSetStudent.elementAt(i)).getName()+"\t");
                tea.append(
                    ((setStudent) NewSetStudent.elementAt(i)).getNumber()+"\t");
                tea.append(
                  ((setStudent) NewSetStudent.elementAt(i)).getToclass()+"\t");
                tea.append(
                    ((setStudent) NewSetStudent.elementAt(i)).getSex()+"\t");
              for (j= 0; j< 6; j++)
               {
                  srta[j]=Float.toString(
                      ((setStudent)NewSetStudent.elementAt(i)).getMark(j));
                  tea.append(srta[j] + "\t");
               }
               tea.append(
                  ((setStudent) NewSetStudent.elementAt(i)).getAverage()+"\t");
               tea.append(
                    ((setStudent) NewSetStudent.elementAt(i)).getIndex()+"\n");
               seach = true;
            }
          }
        if (seach == false)
         tea.append("\t\t\t\t找不到指定目标\n");
         seach=false;
         seachInput.setText("");
     }//按名字的也结束

   else if (choose.getLabel() == "按学号")
      {
        for (i = 0; i <NewSetStudent.size() ;i++)
        {
        if(((setStudent)NewSetStudent.elementAt(i)).getNumber().equals(str) )
         {
           tea.append(
             ((setStudent) NewSetStudent.elementAt(i)).getName()+"\t");
           tea.append(
            ((setStudent) NewSetStudent.elementAt(i)).getNumber()+"\t");
           tea.append(
             ((setStudent) NewSetStudent.elementAt(i)).getToclass()+"\t");
           tea.append(((setStudent)NewSetStudent.elementAt(i)).getSex()+"\t");
          for (j = 0;j < 6;j++)
            {
              srta[j] = Float.toString(
                        ((setStudent) NewSetStudent.elementAt(i)).getMark(j));
              tea.append(srta[j] + "\t");
            }
            tea.append(
                  ((setStudent) NewSetStudent.elementAt(i)).getAverage()+"\t");
            tea.append(
                  ((setStudent) NewSetStudent.elementAt(i)).getIndex()+"\n");
           seach = true;
         }
      }
      if (seach == false)
         tea.append("\t\t\t\t找不到指定目标\n");
           seach=false;
       seachInput.setText("");
  }//按名字的也结束

  else
    if(choose.getLabel() == "按名次")
    {
        int k=Integer.parseInt(str);
        for (i = 0; i < NewSetStudent.size() ; i++)
          {
          if(((setStudent) NewSetStudent.elementAt(i)).getIndex()== k)
           {
              tea.append(
                 ((setStudent)NewSetStudent.elementAt(i)).getName()+"\t");
              tea.append(
                 ((setStudent) NewSetStudent.elementAt(i)).getNumber()+"\t");
              tea.append(
                 ((setStudent) NewSetStudent.elementAt(i)).getToclass()+"\t");
              tea.append(((setStudent)NewSetStudent.elementAt(i)).getSex()+"\t");
            for (j = 0;j < 6;j++)
             {
                 srta[j] = Float.toString(
                        ((setStudent) NewSetStudent.elementAt(i)).getMark(j));
                 tea.append(srta[j] + "\t");
                }
             tea.append(
                  ((setStudent) NewSetStudent.elementAt(i)).getAverage()+"\t");
             tea.append(
                  ((setStudent) NewSetStudent.elementAt(i)).getIndex()+"\n");

            seach = true;
          }
        }
      if (seach == false)
          tea.append("\t\t\t\t找不到指定目标\n");
      seach=false;
      seachInput.setText("");
  }//按名字的也结束*/
 }
 }//itemPerformed结束
 public void actionPerformed(ActionEvent ap)
  {
      if(ap.getSource()==close)
       {
         dispose();
       }
  }
}
//查找类结束

//删除类开始
class deleteFrame extends Frame implements ActionListener,ItemListener
 {
   CheckboxGroup deleteWays;
   Checkbox na,nu,id;
   Button btn;
   TextField deleteInput;
   TextArea tea;
   boolean delete=false;

   deleteFrame()
   {
     super("删除");
      deleteWays = new CheckboxGroup();
      na = new Checkbox("按名字", true,deleteWays);
      nu = new Checkbox("按学号", false, deleteWays);
      id = new Checkbox("按名次", false, deleteWays);
      deleteInput=new TextField(10);
      btn=new Button("关闭");
      tea = new TextArea("欢迎您的使用",2,50);

      setLayout(new FlowLayout());//这一句至关重要,单选按钮组就靠它了
      add(deleteInput);
      add(na);
      add(nu);
      add(id);
      add(btn);
      add(tea);

      na.addItemListener(this);
      nu.addItemListener(this);
      id.addItemListener(this);
      btn.addActionListener(this);
      close.addActionListener(this);
      addWindowListener(new closeWin());
      setSize(400,400);
      setVisible(true);
      setLocation(100,100);
      show();
   }
 public void itemStateChanged(ItemEvent ie)
  {
     String str=deleteInput.getText();//在这里本人对这种算法持保留意见
     int i=0,j;                      //因为若是在连续挨着的多个对象有
     Checkbox choose=new Checkbox();  //同样的条件的情况下,那么情况会
     String[] srta=new String[6];     //不会是前面的删除了,而后一个仍在?
     if(ie.getItemSelectable()instanceof Checkbox)
     {
        choose=(Checkbox)(ie.getItemSelectable());
       if (choose.getLabel() == "按名字")
        {
         for(i=0;i<NewSetStudent.size();i++)
          {
           if(((setStudent) NewSetStudent.elementAt(i)).getName().equals(str))
            {
              NewSetStudent.removeElementAt(i);
              delete=true;
              informationChange=true;
              tea.setText("删除成功");
            }
          }
        if(delete==false)
            tea.setText("\t\t\t未找到");
         delete=false;
       }
   else
       if (choose.getLabel() == "按学号")
         {
          for(i=0;i<NewSetStudent.size();i++)
           {
       if(((setStudent) NewSetStudent.elementAt(i)).getNumber().equals(str))
            {
               NewSetStudent.removeElementAt(i);
               delete=true;
               informationChange=true;
               tea.setText("删除成功");
            }
            }
          if(delete==false)
                       tea.setText("\t\t\t未找到");
                    delete=false;
         }
   else
     if (choose.getLabel() == "按名次")
       {
        for(i=0;i<NewSetStudent.size();i++)
        {
         if ( Integer.toString(((
                setStudent) NewSetStudent.elementAt(i)).getIndex()).equals(str))
            {
               NewSetStudent.removeElementAt(i);
               delete=true;
               informationChange=true;
               tea.setText("删除成功");
            }
        }
      if(delete==false)
           tea.setText("\t\t\t未找到");
      delete=false;
     }
    }
   }
  public void actionPerformed(ActionEvent ap)
  {
    if(ap.getSource() ==btn)
    {
      dispose();
    }
  }
}
//删除类结束

//修改类开始
class changeFrame extends Frame implements ActionListener
  {
     //这里的东西几乎就是将enterInformationFrame里面的复制过来的
     //这里其实可以用很巧妙的方法,不说了,且看下面的代码,自己可以得出来
     Label prompt,sub1_prompt,sub2_prompt,sub3_prompt,
     sub4_prompt,sub5_prompt,sub6_prompt,nameprompt,
     numberprompt,classprompt,sexprompt;
     TextField inputname,inputnumber,inputclass,inputsex,
     input_sub1_mark,input_sub2_mark,input_sub3_mark,
     input_sub4_mark,input_sub5_mark,input_sub6_mark;
     Button btn1,btn2,btn3;
     TextArea tea;
    float[] fl={0,0,0,0,0,0};
    int i,r;
    String[] srta=new String[8];
    boolean find=false;

    changeFrame()
    {
     super("修改");
      tea=new TextArea(25,100);
      btn1=new Button("查找");
      btn2=new Button("修改");
      btn3=new Button("关闭");
      nameprompt=new Label("姓名");
      numberprompt=new Label("学号");
      classprompt=new Label("班级");
      sexprompt=new Label("性别");
      prompt=new Label(" 请输入对象特征");

⌨️ 快捷键说明

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