📄 testarea.java
字号:
//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 + -