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

📄 testarea.java

📁 考试系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
           //readTest.setSelection(answer);
          }

         if(e.getSource()==lookScore)////查看分数//111
          {
          	/*for(int j=2;j<=num;j++)
       	    {  res.absolute(j);
       	 	     selection=selection+(res.getString(3)).trim();
       	 	     System.out.println("selection="+selection);
       	 	   }*/
           /*int length1=selection.length();
           int length2=answers.length();
           int min=Math.min(length1,length2);
           for(int i=0;i<min;i++)
              { try{
                    if(selection.charAt(i)==answers.charAt(i))
                          score++;
                   }
                catch(StringIndexOutOfBoundsException ex)
                   {
                      i=0;
                   }
              }*/
            lookScore.setEnabled(false);

         //int score=readTest.getScore();
         //String messages=readTest.getMessages();
         int nn=selection.length();
         String message="正确答案:"+selection.substring(0,nn)+"\n"+
                         "你的回答:"+answers+"\n";
         massegeArea.setText("分数:"+score+"\n"+message);
        }//////////查看分数/////////////////////

         if(e.getSource()==暂停或继续计时)
          {
            if(是否暂停计时==false)
              {
                暂停或继续计时.setText("继续计时");
                是否暂停计时=true;
               }
             else if(是否暂停计时==true)
              {
                 暂停或继续计时.setText("暂停计时");
                 是否暂停计时=false;
                 countTime.interrupt();
              }
            }
          }//try
         catch(Exception ex){}

     }//public void itemStateChanged(ItemEvent e)

    public void actionPerformed(ActionEvent e)
     {  try {
     	  if(e.getSource()==readNext)//读取下一题////22222222
         {   if(i<num) {
         	   i=i+1;
             try{
                 res.absolute(i);
                 strNumber=res.getString(1);
                 nameTest=res.getString(2);
               }//try
           catch(Exception ex){}

           readNext.setText("读取下一题");
           upAnswer.setEnabled(true);
           lookScore.setEnabled(true);
           String contentTest=strNumber+nameTest;//readTest.getTestContent();
           //System.out.println(contentTest);
           testArea.setText(contentTest);
           massegeArea.setText(null);
           readNext.setEnabled(false);
           try {
                 countTime.start();
                }
           catch(Exception event)
              {

              }
          }
         else
           {  readNext.setEnabled(false);
           	  upAnswer.setEnabled(false);
           	  暂停或继续计时.setEnabled(false);
           	  countTime.interrupt();
           	  完成考试=true;
           	  testArea.setText("恭喜你已完成考试!!!");

           }
        }
      if(e.getSource()==upAnswer)///提交答案22222
        {
          readNext.setEnabled(true);
          upAnswer.setEnabled(false);
          //String answer="?";
          for(int i=0;i<4;i++)
             {
               if(box[i].isSelected())
                  {
                    answer=box[i].getText();

                    //System.out.println("answer="+answer);
                    box[i].setSelected(false);
                    break;
                  }

                //System.out.println("answer 2="+answer);
             }

            answers=answers+answer;
            System.out.println("answer 2="+answers);
         //readTest.setSelection(answer);
       }
     if(e.getSource()==lookScore)//查看分数/////22222222
       {
       	   int length1=selection.length();
           int length2=answers.length();
           int min=Math.min(length1,length2);
           for(int i=0;i<min;i++)
              { try{
                    if(selection.charAt(i)==answers.charAt(i))
                          score++;
                   }
                catch(StringIndexOutOfBoundsException ex)
                   {
                      i=0;
                   }
              }
            lookScore.setEnabled(false);

         //int score=readTest.getScore();
         //String messages=readTest.getMessages();
        String message="正确答案:"+selection+"\n"+
                         "你的回答:"+answers+"\n";
         massegeArea.setText("分数:"+score+"\n"+message);
       }
     if(e.getSource()==暂停或继续计时)
       {
         if(是否暂停计时==false)
            {
               暂停或继续计时.setText("继续计时");
               upAnswer.setEnabled(false);
               readNext.setEnabled(false);
               是否暂停计时=true;
            }
         else if(是否暂停计时==true)
            {
               暂停或继续计时.setText("暂停计时");
               upAnswer.setEnabled(true);
               readNext.setEnabled(true);
               是否暂停计时=false;
               countTime.interrupt();
            }
       }
      }//try
     catch(Exception ex){}
     }//public void actionPerformed(ActionEvent e)

   public synchronized void run()
   {
     while(true)
      {
        if(time<=0)
           {
             是否关闭计时器=true;
             countTime.interrupt();
             upAnswer.setEnabled(false);
             readNext.setEnabled(false);
             timeShow.setText("用时尽,考试结束");
           }
        else if(完成考试)
           {
             是否关闭计时器=true;
             ///////////////
           int scores=0;
           int length1=selection.length();
           int length2=answers.length();
           int min=Math.min(length1,length2);
           for(int i=0;i<min;i++)
              { try{
                    if(selection.charAt(i)==answers.charAt(i))
                          scores++;
                   }
                catch(StringIndexOutOfBoundsException ex)
                   {
                      i=0;
                   }
              }
         ////////////////////
             timeShow.setText("考试效果:分数*剩余时间(秒)="+1.0*scores*(time/1000));
             countTime.interrupt();
             暂停或继续计时.setEnabled(false);
             upAnswer.setEnabled(false);
             readNext.setEnabled(false);

           }
        else if(time>=1)
          {
            time=time-1000;
            long leftTime=time/1000;
            long leftHour=leftTime/3600;
            long leftMinute=(leftTime-leftHour*3600)/60;
            long leftSecond=leftTime%60;
            timeShow.setText(""+leftHour+"小时"+leftMinute+"分"+leftSecond+"秒");
          }
         try
          {
            Thread.sleep(1000);
          }
         catch(InterruptedException ee)
          {
             if(是否关闭计时器==true)
               return ;
          }
         while(是否暂停计时==true)
          {
             try
                {
                    wait();
                }
            catch(InterruptedException ee)
                {
                  if(是否暂停计时==false)
                     {
                        notifyAll();
                     }
                }
          }//while(是否暂停计时==true)
      }//while(true)
   }//void run()
 }//public class TestArea

⌨️ 快捷键说明

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