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

📄 examination.java

📁 Online exam!!!enjoY !!!
💻 JAVA
字号:
import java.awt.*;
import java.sql.*;

public class examination extends Frame
{
     int stdno,i;
     int qcounter;
     String topi;
     int count=0;
     int qno;
     String[] ques;
     String[] op1;
     String[] op2;
     String[] op3;
     String[] op4;
     String[] ans;
     String[] uans;
     String[] umark;
     Panel p,p1,p3;
     Label l1,l2,l3;
     Button pre,n,m,c;
     CheckboxGroup radio;
     Checkbox radioop1,radioop2,radioop3,radioop4;
     int qmark;
     mythread mn;
     results a2;
     public examination(int snum,String top)
     {

        qcounter=0;
        stdno=snum;
        topi=top;
        
        try
          {
               Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
               Connection c=DriverManager.getConnection("jdbc:odbc:sirisha");
               Statement st=c.createStatement();
               ResultSet rs=st.executeQuery("Select * from question where topic='"+topi+"' order by qno");

               while(rs.next())
               {
                    count++;
               }
               st.close();
               ques = new String[count];
                   
                    op1=new String[count];
                    op2=new String[count];                    
                    op3=new String[count];
                    op4=new String[count];
                    ans=new String[count];
                    uans=new String[count];
                    umark=new String[count];
               Statement st1=c.createStatement();
               rs=st1.executeQuery("Select * from question where topic='"+topi+"'");
               int i=0;
               while(rs.next())
               {
                    ques[i]=rs.getString(2);
                    op1[i]=rs.getString(4);
                    op2[i]=rs.getString(5);
                    op3[i]=rs.getString(6);
                    op4[i]=rs.getString(7);
                    ans[i]=rs.getString(8);
                    umark[i]="N";
                    i++;
               }

               st1.close();
              System.out.println(count);
          }
         catch(Exception e)
         {
               System.out.println("inside:"+e);
               e.printStackTrace();
         }
         p=new Panel();
         p3=new Panel();
         p1=new Panel();
         pre=new Button("Previous");
         n=new Button("Next");
         m=new Button("Mark/Unmark");
         c=new Button("Close");
       //  System.out.println("Value of ques[]"+ques[qcounter]);
         l1=new Label(""+ques[qcounter]);
         qno=qcounter+1;
         l3=new Label("Time :00::50::00");
         l2=new Label("Q.NO"+qno+"of"+count);
         p.add(l1);

         p3.add(l2);
         p3.add(l3);
         p1.add(pre);
         p1.add(n);
         p1.add(m);
         p1.add(c);
         radio=new CheckboxGroup();
         radioop1=new Checkbox(op1[qcounter],radio,false);
         radioop2=new Checkbox(op2[qcounter],radio,false);
         radioop3=new Checkbox(op3[qcounter],radio,false);
         radioop4=new Checkbox(op4[qcounter],radio,false);
         
         p.add(radioop1);
         p.add(radioop2);
         p.add(radioop3);
         p.add(radioop4);
         add("Center",p);
         add("South",p1);
         add("North",p3);
         mn=new mythread(this);
         mn.start();
         show();

    }
    public boolean handleEvent(Event e)
    {
        if(e.id==Event.WINDOW_DESTROY)
            System.exit(0);

        return super.handleEvent(e);
    }
    public boolean action(Event e,Object o)
    {
        
        if(e.target.equals(pre))
        {
           qcounter=qcounter-1;
           if(qcounter<=0)
           {
                qcounter=0;
           }
           add124(qcounter);
       }

        else if(e.target.equals(n))
        {  
           qcounter=qcounter+1;
           if(qcounter>=(count))
           {
                qcounter=qcounter-1;
           }
           add124(qcounter);
        }
        else if(e.target.equals(m))

        {      
               umark[qcounter]="M";
        }

        else if(e.target.equals(c))
        {
             //count,uans,qmark,stdno,topi
             disp124();  
        }
        if(radioop1.getState())
        {
                uans[qcounter]= op1[qcounter];
        }
        else  if(radioop2.getState())
        {
                uans[qcounter]= op2[qcounter];
        }
        else  if(radioop3.getState())
        {
                uans[qcounter]= op3[qcounter];
        }
        else  if(radioop4.getState())
        {
                uans[qcounter]= op4[qcounter];
        }

     
         return super.action(e,o);
    }
    public void disp124()
    {
             answerlist al=new answerlist(this);
             hide();
             al.resize(300,300);
             al.show();

    }

    public void dispresults()
    {
             if(a2==null)
             {
                System.out.println("Method dispresults called");
                a2=new results(this);
                hide();
                a2.resize(300,300);
                a2.show();
             }

    }

    public void add124(int c)
    {
         qcounter=c;
         //p.removeAll();
         umark[c]="N";
         //l1=new Label(ques[c]);
         l1.setText(ques[c]);
         //p.add(l1);
         //radio=new CheckboxGroup();
         //radioop1=new Checkbox(op1[c],radio,false);
         //radioop2=new Checkbox(op2[c],radio,false);
         //radioop3=new Checkbox(op3[c],radio,false);
         //radioop4=new Checkbox(op4[c],radio,false);
           radioop1.setLabel(op1[c]);
           radioop2.setLabel(op2[c]);
           radioop3.setLabel(op3[c]);
           radioop4.setLabel(op4[c]);

         //p.add(radioop1);
         //p.add(radioop2);
         //p.add(radioop3);
         //p.add(radioop4);
         
         //add("Center",p);
         l2.setText("Q.NO"+(c+1)+"of"+count);
         System.out.println("change="+(c+1)+"    "+count);
         validate();

         return;
    }

}


class mythread extends Thread
{
     examination ex;
     mythread(examination f)
     {
          ex=f;

     }
     public void run()
     {
          long time=ex.count*100000;
          System.out.println("time:"+time);
          for(long i=0;i<time;i++)
          {
              long sec=i/1000;
              long min=sec/60;
              long hr=min/60;
              sec=sec%60;
              String str1="Time:"+hr+"::"+min+"::"+sec;
                int qno=ex.qcounter+1;
               //ex.p3.removeAll();
               //Panel p3=new Panel();
               //Label l2=new Label("Q.NO"+qno+"of"+ex.count);
               //ex.l2.setText("Q.NO"+qno+"of"+ex.count);
               //p3.add(l2);
               //Label l3=new Label(str1);
               ex.l3.setText(str1);
               //p3.add(l3);
               //ex.add("North",p3);
               ex.validate();


          }
          
          System.out.println("time over...");

          ex.dispresults();
          //System.exit(0);
     }
}

⌨️ 快捷键说明

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