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

📄 exam10_7.java

📁 java学习课件
💻 JAVA
字号:
/*这是一个输入速度计数的测试程序示例
 *程序名为: Exam10_7.java
 */
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Exam10_7 extends JFrame implements Runnable,ActionListener
{
  JLabel time=new JLabel("90");
  int time_count=90;
  int answer_count=0;
  JTextField no = new JTextField(10);
  JTextField result = new JTextField(10);
  JButton next=new JButton("下一个");
  JButton start_end=new JButton("开始");
  static Thread  thread1;
  public Exam10_7()
  {
 	Container pane=getContentPane(); //获得摆放组件的窗口容器
 	pane.setLayout(new GridLayout(0,2)); //在容器上以网格布局摆放组件
 	pane.add(new JLabel("总的测试时间90分钟,剩余时间:"));
 	pane.add(time);
 	pane.add(new JLabel("学号")); //将组件摆放到窗格上
 	pane.add(no);                 //......
 	pane.add(new JLabel("成绩")); //......
 	pane.add(result);             //......
 	pane.add(start_end);               //......
 	pane.add(next);               //......
  	start_end.addActionListener(this);  //注册exit按钮的监听对象
 	next.addActionListener(this);  //注册next按钮的监听对象
	next.setEnabled(false);  //设置组件不可操作 
	no.setEditable(false);   //设置组件不可操作 
	result.setEditable(false);  //设置组件不可操作 
	setSize(400,120); //设置窗口的大小
 	setVisible(true);
	setDefaultCloseOperation(3);
  }
  /************main()*************/
  public static void main(String [] args)
  {
  	thread1=new Thread(new Exam10_7());
  }	
  /*********ActionListener接口方法*************/ 
  public void actionPerformed(ActionEvent e)  //实现单击按钮事件
  {
    Object obj=e.getSource(); //获取事件源
    if(obj==next)  //设置下一个
    {
      answer_count++;
      no.setText("");
      result.setText("");
      no.requestFocus();  //定位输入位置
    }
    else if(obj==start_end) //开始或退出
    {
      if(time_count>0) //开始
      {
      	no.setEditable(true);  //设置组件可操作
      	result.setEditable(true);  //设置组件可操作
      	next.setEnabled(true);  //设置组件可操作
      	start_end.setEnabled(false); //设置组件不可操作 
        thread1.setDaemon(true);  //设置线程为守护线程
      	thread1.start(); //启动线程
      }
      else	System.exit(0); //结束程序
     }  
  } 
  /*********Runnable接口方法*************/ 
  public void run()
  {
  	try
  	{
  	  while(true) 
  	  { 
  	    time.setText(time_count+""); //显示倒计时
  	    time_count--;
  	    if(time_count<0) //测试时间到 
  	    { 
  	      next.setEnabled(false); //设置组件不可操作 
	      no.setEditable(false);  //设置组件不可操作
          result.setEditable(false); //设置组件不可操作
  	      start_end.setEnabled(true); //设置组件可操作
  	      start_end.setText("结束");
  	      time.setText("时间到,输入"+answer_count+"个");
  	      thread1.interrupt();  //中断线程的运行
  	    }
  	  	thread1.sleep(600L);  //休眠1分钟
  	  }
  	}
  	catch(InterruptedException e) { System.out.println(e.toString()); }
  }
}

⌨️ 快捷键说明

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