//kechengsheji.java
import java.awt.*; //导入java.awt包的所有类
import java.awt.event.*;
public class kechengsheji extends WindowAdapter implements ActionListener,ItemListener
{
Frame f; //学生登录主界面框架对象
Label lb1,lb2,lb3,lb4,lb5,lb6,lb7,lb8,lb,chengji; //文本标签
TextField t1,t2; //文本输入行
Button b1,b2,b3,b4,b5,b9,b10,b11,b12; //按钮
Dialog d1,d2,d3,d5,d6; //对话框
List list1; //列表框
panduanti mypanduanti; //判断题
xuanzeti myxuanzeti; //选择题
tiankongti mytiankongti; //填空题
zhengquedaan myzhengquedaan; //正确答案
public kechengsheji()
{
mypanduanti=new panduanti(); //创建判断题对象
myxuanzeti=new xuanzeti(); //创建选择题对象
mytiankongti=new tiankongti(); //创建填空题对象
myzhengquedaan=new zhengquedaan(); //创建正确答案对象
f=new Frame("学生考试登陆"); //创建学生登录主界面框架对象
f.setSize(500,200); //设置框架大小
f.setLocation(200,150); //设置框架位置
f.setLayout(null); //不使用任何布局管理器
lb1=new Label(); //创建学号文本标签对象
lb1.setAlignment(Label.LEFT); //设定标签的对齐方式为左对齐
lb1.setText("学号"); //设定标签的文本
lb1.setBounds(20,50,40,30); //设定标签位置和大小
f.add(lb1); //在学生登录主界面框架中加入文本标签
lb2=new Label(); //创建姓名文本标签对象
lb2.setAlignment(Label.LEFT); //设定标签的对齐方式为左对齐
lb2.setText("姓名"); //设定标签的文本
lb2.setBounds(20,80,40,30); //设定标签位置和大小
f.add(lb2); //在学生登录主界面框架中加入文本标签
t1=new TextField(); //创建空的文本输入行对象,用于输入学号
t1.setText(""); //设定文本输入行初始内容为空
t1.setBounds(65,50,150,30); //设定文本输入行位置和大小
f.add(t1); //在学生登录主界面框架中加入文本输入行
t2=new TextField(""); //创建空的文本输入行对象,用于输入姓名
t2.setBounds(65,80,150,30); //设置文本输入行位置
f.add(t2); //在学生登录主界面框架中加入文本输入行
b1=new Button("确定"); //创建“确定”按钮对象
b1.setBounds(200,120,40,30); //设定按钮位置和大小
b1.addActionListener(this); //注册监听“确定”按钮的单击事件,由对象自己处理
f.add(b1); //在学生登录主界面框架中加入“确定”按钮
b2=new Button("退出"); //创建“退出”按钮对象
b2.setBounds(270,120,40,30); //设定按钮位置和大小
b2.addActionListener(this); //注册监听“取消”按钮的单击事件,由对象自己处理
f.add(b2); //在学生登录主界面框架中加入“取消”按钮
d1=new Dialog(f,"信息确认"); //创建“信息确认”对话框
d1.setSize(400,200); //设置对话框大小
d1.setLocation(250,160); //设置对话框位置
d1.setLayout(null); //不使用任何布局管理器
d1.addWindowListener(this); //注册监听对话框的关闭事件,由对象自己处理
lb3=new Label(); //创建文本标签对象
lb3.setAlignment(Label.LEFT); //设定标签的对齐方式为左对齐
lb3.setText("你输入的"); //设定标签的文本
lb3.setBounds(30,40,50,30); //设定文本标签的位置和大小
d1.add(lb3); //在注册成功时弹出的对话框中加入标签
d2=new Dialog(f,"输入错误"); //创建输入错误时弹出的对话框
d2.setSize(300,200); //设置对话框大小
d2.setLocation(250,160); //设置对话框位置
d2.addWindowListener(this); //注册监听对话框的关闭事件
lb4=new Label(); //创建输入姓名非法时显示的文本标签对象
lb4.setAlignment(Label.CENTER); //设定标签的对齐方式为中心对齐
lb4.setText("你输入了非法的信息!"); //设定标签的文本
d2.add(lb4); //在输入非法姓名时弹出的对话框中加入标签
lb5=new Label(); //创建文本标签对象,用于确认学号
lb5.setAlignment(Label.LEFT); //设定标签的对齐方式为左对齐
lb5.setText(""); //设定标签初始内容为空
lb5.setBounds(50,80,150,30); //设定文本标签位置和大小
d1.add(lb5); //在注册成功时弹出的对话框中加入标签
lb6=new Label(); //创建文本标签对象,用于确认姓名
lb6.setAlignment(Label.LEFT); //设定标签的对齐方式为左对齐
lb6.setText(""); //设定标签初始内容为空
lb6.setBounds(50,120,150,30); //设定文本标签位置和大小
d1.add(lb6); //在信息确认的对话框中加入标签
b3=new Button("开始考试"); //创建“开始考试”按钮
b3.setBounds(60,160,60,30); //设定按钮位置和大小
b3.addActionListener(this); //注册监听按钮的单击“开始考试”事件,由对象自己处理
d1.add(b3); //在信息确认的对话框中添加按钮
b4=new Button("重置"); //创建“重置”按钮
b4.setBounds(140,160,40,30); //设定按钮位置和大小
b4.addActionListener(this); //注册监听按钮的单击“重置”事件,由对象自己处理
d1.add(b4); //在信息确认的对话框中添加按钮
b5=new Button("取消"); //创建“取消”按钮
b5.setBounds(200,160,40,30); //设定按钮位置
b5.addActionListener(this); //注册监听按钮的单击“取消”事件,由对象自己处理
d1.add(b5); //在信息确认的对话框中添加按钮
d3=new Dialog(f,"题型选择"); //创建“题型选择”对话框
d3.setSize(500,200); //设置对话框大小
d3.setLocation(250,160); //设置对话框位置
d3.setLayout(null); //不使用任何布局管理器
d3.addWindowListener(this); //注册监听对话框的关闭事件,由对象自己处理
lb7=new Label(); //创建文本标签对象,用于考试说明
lb7.setAlignment(Label.LEFT); //设定标签的对齐方式为左对齐
lb7.setText("考试说明:考试题分为三种类型:判断题、选择题、填空题,"); //设定标签的文本
lb7.setBounds(30,40,400,30); //设定文本标签的位置和大小
d3.add(lb7); //在注册成功时弹出的题型选择对话框中加入标签
lb8=new Label(); //创建文本标签对象,用于考试说明
lb8.setAlignment(Label.LEFT); //设定标签的对齐方式为左对齐
lb8.setText("总分100分,得分为答对题的分数之和,可以自己安排答题顺序。"); //设定标签的文本
lb8.setBounds(30,70,400,30); //设定文本标签的位置和大小
d3.add(lb8); //在注册成功时弹出的题型选择对话框中加入标签
list1=new List(); //创建列表对象list1
list1.add("判断题"); //在list1中添加项目"判断题"
list1.add("选择题"); //在list1中添加项目"选择题"
list1.add("填空题"); //在list1中添加项目"填空题"
list1.setBounds(200,100,100,100); //设定列表框的位置
list1.addItemListener(this); //注册监听列表框的单击选中事件
d3.add(list1); //在对话框上添加列表框
d5=new Dialog(f,"交卷"); //创建“交卷”对话框
d5.setSize(400,200); //设置对话框大小
d5.setLocation(250,160); //设置对话框位置
d5.setLayout(null); //不使用任何布局管理器
d5.addWindowListener(this); //注册监听对话框的关闭事件,由对象自己处理
lb=ne