java无纸化考试系统,大学英语四六级,计算机二三级,自己完成的独立源码
来源:互联网 发布:ios7.1 软件自动更新 编辑:程序博客网 时间:2024/06/02 09:40
package com.mingrui.english;
import java.awt.*;
import java.awt.event.*;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
import javax.swing.*;
import javax.swing.border.Border;
import javax.swing.border.TitledBorder;
importjavax.swing.event.TableModelListener;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
public class MyTest extends JFrame{
/**
*
*/
privatestatic final long serialVersionUID = 1L;
/**
* @param args
*/
JComboBox<String>jcbPaper;
JComboBox<String>jcbAnswer;
JTextAreajta = newJTextArea("-----------------------------------------------------------",100,60);
JTabletableChose=new JTable();
JTabletableFinal=new JTable();
TableChoseModeltcm=new TableChoseModel();
TableFinalModeltfm=new TableFinalModel();
JPaneljpdown=new JPanel();
JPaneljpleft=new JPanel();
JLabellabicon=new JLabel(new ImageIcon("img/mm.jpg"));
JLabellabicon1=new JLabel(new ImageIcon("img/mm.jpg"));
JSplitPanesplitpane;
JSplitPanesplitpanewhole;
Borderborder=new TitledBorder("题目区:");
Borderborder1=new TitledBorder("答题区:");
Borderborder2=new TitledBorder("功能区:");
JButtonjbconfirm=new JButton("提交答案",new ImageIcon("img/7.gif"));
JButtonjbanaly=new JButton("分析一下",new ImageIcon("img/68.png"));
JButtonjbsave=new JButton("保存到文件",new ImageIcon("img/80.png"));
JButtonjbanswer=new JButton("看看答案",new ImageIcon("img/155.png"));
JLabeljlshowtime=new JLabel("现在时间是:0000-00-00 00:00:00");
JLabeljlchosepaper=new JLabel("请选择你要答题的试卷:");
JLabeljltimeremain=new JLabel("剩余时间是:00:00:00");
Stringstr="";
inttotaltime=30*60*1000;
intdaan=10;
MyTest(){
setSize(1280,700);
setLocationRelativeTo(null);
setDefaultCloseOperation(3);
setResizable(true);
jta.setBackground(newColor(16766274));
jpdown.setBackground(newColor(14172199));
jltimeremain.setBackground(Color.orange);
jbconfirm.setBackground(newColor(12514438));
Timertimer = new Timer(1000,new ActionListener()
{
publicvoid actionPerformed(ActionEvent e)
{
str=newSimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
jlshowtime.setText("现在时间是:"+str);
totaltime-=1000;
Datedateremain=new Date(totaltime);
inthour=totaltime/(1000*60*60);
intmin=totaltime/(1000*60);
intsec=totaltime%(1000*60);
jltimeremain.setText("剩余时间是:"+hour+":"+min+":"+sec);
if(totaltime==0)
JOptionPane.showMessageDialog(null,"时间到,请停止答题");
}
});
timer.start();
jcbPaper=newJComboBox<>(new String[]{"2012年六月","2012年十二月","2011年六月","2011年十二月",
"2010年六月","2010年十二月","2009年六月","2009年十二月","2008年六月","2008年十二月"});
jcbPaper.addItemListener(newItemListener() {
@Override
publicvoid itemStateChanged(ItemEvent e) {
//TODO Auto-generated method stub
if(e.getItem()=="2012年十二月"){
Filef=new File("ti/1.ti");
jta.setText("2012年十二月");
daan=1;
try{
Scannerscan=new Scanner(f);
while(scan.hasNextLine()){
Stringstrf=scan.nextLine();
jta.append(strf+"\r\n");
}
}catch (FileNotFoundException e1) {
//TODO Auto-generated catch block
e1.printStackTrace();
}
}
elseif(e.getItem()=="2011年六月"){
Filef=new File("ti/2.ti");
jta.setText("2010年6月");
daan=2;
try{
Scannerscan=new Scanner(f);
while(scan.hasNextLine()){
Stringstrf=scan.nextLine();
jta.append(strf+"\r\n");
}
}catch (FileNotFoundException e1) {
//TODO Auto-generated catch block
e1.printStackTrace();
}
}
elseif(e.getItem()=="2011年十二月"){
Filef=new File("ti/3.ti");
jta.setText("2010年12月");
daan=3;
try{
Scannerscan=new Scanner(f);
while(scan.hasNextLine()){
Stringstrf=scan.nextLine();
jta.append(strf+"\r\n");
}
}catch (FileNotFoundException e1) {
//TODO Auto-generated catch block
e1.printStackTrace();
}
}
elseif(e.getItem()=="2010年六月"){
Filef=new File("ti/4.ti");
jta.setText("2010年6月");
daan=4;
try{
Scannerscan=new Scanner(f);
while(scan.hasNextLine()){
Stringstrf=scan.nextLine();
jta.append(strf+"\r\n");
}
}catch (FileNotFoundException e1) {
//TODO Auto-generated catch block
e1.printStackTrace();
}
}
elseif(e.getItem()=="2010年十二月"){
Filef=new File("ti/5.ti");
jta.setText("2010年12月");
daan=5;
try{
Scannerscan=new Scanner(f);
while(scan.hasNextLine()){
Stringstrf=scan.nextLine();
jta.append(strf+"\r\n");
}
}catch (FileNotFoundException e1) {
//TODO Auto-generated catch block
e1.printStackTrace();
}
}
elseif(e.getItem()=="2009年六月"){
Filef=new File("ti/6.ti");
jta.setText("2009年6月");
daan=6;
try{
Scannerscan=new Scanner(f);
while(scan.hasNextLine()){
Stringstrf=scan.nextLine();
jta.append(strf+"\r\n");
}
}catch (FileNotFoundException e1) {
//TODO Auto-generated catch block
e1.printStackTrace();
}
}
elseif(e.getItem()=="2009年十二月"){
Filef=new File("ti/7.ti");
jta.setText("2009年12月");
daan=7;
try{
Scannerscan=new Scanner(f);
while(scan.hasNextLine()){
Stringstrf=scan.nextLine();
jta.append(strf+"\r\n");
}
}catch (FileNotFoundException e1) {
//TODO Auto-generated catch block
e1.printStackTrace();
}
}
elseif(e.getItem()=="2008年六月"){
Filef=new File("ti/8.ti");
jta.setText("2008年6月");
daan=8;
try{
Scannerscan=new Scanner(f);
while(scan.hasNextLine()){
Stringstrf=scan.nextLine();
jta.append(strf+"\r\n");
}
}catch (FileNotFoundException e1) {
//TODO Auto-generated catch block
e1.printStackTrace();
}
}
elseif(e.getItem()=="2008年十二月"){
Filef=new File("ti/9.ti");
jta.setText("2008年12月");
daan=9;
try{
Scannerscan=new Scanner(f);
while(scan.hasNextLine()){
Stringstrf=scan.nextLine();
jta.append(strf+"\r\n");
}
}catch (FileNotFoundException e1) {
//TODO Auto-generated catch block
e1.printStackTrace();
}
}
else{
Filef=new File("ti/10.ti");
jta.setText("2012年6月");
daan=10;
try{
Scannerscan=new Scanner(f);
while(scan.hasNextLine()){
Stringstrf=scan.nextLine();
jta.append(strf+"\r\n");
}
}catch (FileNotFoundException e1) {
//TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
});
jcbAnswer=newJComboBox<>(newString[]{"A","B","C","D"});
jcbPaper.setBackground(newColor(12514438));
jta.setSize(600,650);
jta.setLineWrap(true);
jta.setWrapStyleWord(true);
jta.setBorder(border);
tableChose.setModel(tcm);
tableFinal.setModel(tfm);
tableChose.getColumnModel().getColumn(5).setCellEditor(newDefaultCellEditor(jcbAnswer));
splitpane=newJSplitPane(JSplitPane.HORIZONTAL_SPLIT,new JScrollPane(jta),newJScrollPane(tableChose));
splitpane.setBorder(border1);
splitpane.setBackground(newColor(15453926));
tableChose.setBackground(newColor(244447));
add(splitpane,BorderLayout.CENTER);
//add(jpup,BorderLayout.CENTER);
jpdown.setLayout(newGridLayout(1, 5));
jpdown.add(jlchosepaper);
jpdown.add(jcbPaper);
jpdown.add(jlshowtime);
jpdown.add(jltimeremain);
jpdown.add(jbconfirm);
add(jpdown,BorderLayout.SOUTH);
tableFinal.setSize(200,300);
//jpleft.add(newJScrollPane(tableFinal),BorderLayout.CENTER);
jbsave.setBackground(newColor(4322213));
jbanaly.setBackground(newColor(4322213));
jbanswer.setBackground(newColor(4322213));
jbanswer.addActionListener(newActionListener() {
@Override
publicvoid actionPerformed(ActionEvent e) {
//TODO Auto-generated method stub
try{
newAnswerGui(daan);
}catch (FileNotFoundException e1) {
//TODO Auto-generated catch block
e1.printStackTrace();
}
}
});
jbconfirm.addActionListener(newActionListener() {
@Override
publicvoid actionPerformed(ActionEvent e) {
Filefdaan=new File("reso/"+daan+".res");
try{
//Scannerscan=new Scanner(fdaan);
BufferedReaderbr=new BufferedReader(new FileReader(fdaan));
Stringstr=br.readLine();
Stringstrn[]=str.split(" ");
intcountm=0;
//char[]buf=new char[10];
for(inti=0;i<7;i++){
if(tableChose.getValueAt(i,5)!=null&&tableChose.getValueAt(i, 5).equals(strn[i].trim()))
countm++;
}
for(inti=0;i<25;i++){
if(tableChose.getValueAt(i+10,5)!=null&&tableChose.getValueAt(i+10, 5).equals(strn[i+7].trim()))
countm++;
}
for(inti=0;i<10;i++){
if(tableChose.getValueAt(i+51,5)!=null&&tableChose.getValueAt(i+51, 5).equals(strn[i+32].trim()))
countm++;
}
for(inti=0;i<20;i++){
if(tableChose.getValueAt(i+61,5)!=null&&tableChose.getValueAt(i+61, 5).equals(strn[i+42].trim()))
countm++;
}
JOptionPane.showMessageDialog(null,"一共答对了"+countm+"道题");
}catch (FileNotFoundException e1) {
//TODO Auto-generated catch block
e1.printStackTrace();
}catch (IOException e1) {
//TODO Auto-generated catch block
e1.printStackTrace();
}
}
});
jbsave.addActionListener(newActionListener() {
@Override
publicvoid actionPerformed(ActionEvent e) {
//TODO Auto-generated method stub
try{
Filefsav=new File("d:/k.sav");
PrintWriterpw=new PrintWriter(fsav);
if(JOptionPane.showConfirmDialog(null,"确认保存?")==0){
for(inti=0;i<100;i++){
pw.print(tableChose.getValueAt(i,5));
if(i%10==0)
pw.println();
}
}
pw.close();
}catch (FileNotFoundException e1) {
//TODO Auto-generated catch block
e1.printStackTrace();
}
}
});
jpleft.setLayout(newGridLayout(3, 1));
jpleft.setBorder(border2);
jpleft.add(jbanaly);
jpleft.add(jbsave);
jpleft.add(jbanswer);
add(jpleft,BorderLayout.WEST);
setVisible(true);
}
publicstatic void main(String[] args) {
//TODO Auto-generated method stub
newMyTest();
}
publicvoid getSubject() throws FileNotFoundException{
}
publicvoid getAnswer(){}
}
class TableChoseModel implementsTableModel{
/**
*
*/
privatestatic final long serialVersionUID = 1L;
String[][]myPos=new String[100][6];
TableChoseModel(){
for(inti=0;i<100;i++){
for(intj=0;j<6;j++){
if(j==0){
intm=i+1;
myPos[i][j]=String.valueOf(m);
}
elseif(j==1)
myPos[i][j]="A";
elseif(j==2)
myPos[i][j]="B";
elseif(j==3)
myPos[i][j]="C";
elseif(j==4)
myPos[i][j]="D";
elseif(j==1)
myPos[i][j]="答案";
}
}
}
publicint getRowCount() {
//TODO Auto-generated method stub
return100;
}
@Override
publicint getColumnCount() {
//TODO Auto-generated method stub
return6;
}
@Override
publicString getColumnName(int columnIndex) {
//TODO Auto-generated method stub
Stringstr[]={"序号","A","B","C","D","提交答案"};
switch(columnIndex){
case0:return str[0];
case1:return str[1];
case2:return str[2];
case3:return str[3];
case4:return str[4];
default:returnstr[5];
}
//returnnull;
}
@Override
publicClass<?> getColumnClass(int columnIndex) {
//TODO Auto-generated method stub
returnString.class;
}
@Override
publicboolean isCellEditable(int rowIndex, int columnIndex) {
//TODO Auto-generated method stub
if(columnIndex==5)
returntrue;
else
returnfalse;
}
@Override
publicObject getValueAt(int rowIndex, int columnIndex) {
//TODO Auto-generated method stub
returnmyPos[rowIndex][columnIndex];
}
@Override
publicvoid setValueAt(Object aValue, int rowIndex, int columnIndex) {
//TODO Auto-generated method stub
myPos[rowIndex][columnIndex]=(String)aValue;
}
@Override
publicvoid addTableModelListener(TableModelListener l) {
//TODO Auto-generated method stub
}
@Override
publicvoid removeTableModelListener(TableModelListener l) {
//TODO Auto-generated method stub
}
}
class TableFinalModel implementsTableModel{
@Override
publicint getRowCount() {
//TODO Auto-generated method stub
return20;
}
@Override
publicint getColumnCount() {
//TODO Auto-generated method stub
return2;
}
@Override
publicString getColumnName(int columnIndex) {
//TODO Auto-generated method stub
if(columnIndex==0)
return"我的输入";
else
return"答案";
}
@Override
publicClass<?> getColumnClass(int columnIndex) {
//TODO Auto-generated method stub
returnString.class;
}
@Override
publicboolean isCellEditable(int rowIndex, int columnIndex) {
//TODO Auto-generated method stub
returnfalse;
}
@Override
publicObject getValueAt(int rowIndex, int columnIndex) {
//TODO Auto-generated method stub
return"A";
}
@Override
publicvoid setValueAt(Object aValue, int rowIndex, int columnIndex) {
//TODO Auto-generated method stub
}
@Override
publicvoid addTableModelListener(TableModelListener l) {
//TODO Auto-generated method stub
}
@Override
publicvoid removeTableModelListener(TableModelListener l) {
//TODO Auto-generated method stub
}
}
package com.mingrui.english;
import java.awt.*;
import java.awt.Event.*;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
import javax.swing.*;
public class AnswerGui extends JFrame{
JTextAreajta=new JTextArea("答案", 100, 100);
AnswerGui(inti) throws FileNotFoundException{
super("答案");
setSize(400,500);
//setDefaultCloseOperation(3);
setLocationRelativeTo(null);
setResizable(true);
jta.setLineWrap(true);
Filef=new File("ti/"+i+".daan");
Scannerscan=new Scanner(f);
while(scan.hasNextLine()){
Stringstr=scan.nextLine();
jta.append(str);
jta.append("\r\n");
}
add(newJScrollPane(jta),BorderLayout.CENTER);
setVisible(true);
}
}
- java无纸化考试系统,大学英语四六级,计算机二三级,自己完成的独立源码
- 特别推荐:大学英语四六级考试听力备考建议
- 英语四六级考试资料
- 英语四六级考试的扭曲与汉语的落寞
- 2009年大学英语四六级机考试点改革解析
- 大学英语四六级口语集锦
- 英语四六级考试忘记准考证?怎么办?
- 二三级计算机考试时间
- 小蜜蜂无纸化考试系统 官网
- 老话重谈:大学英语四六级名师给2010年考生的15条箴言
- 英语四六级系列(二)
- 大学英语四六级写作20个写作有用句型
- 增加听力测试权重 英语四六级考试明年“变脸”
- 清华教授称应取消英语四六级考试 反对标准化
- 英语四六级考试考前必背作文六篇
- 英语四六级考试写作开头与结尾万能公式
- 英语四六级考试网(个人测试)
- 四六级考试
- 友元类用发 ,看到网上的友元类错误百出(把调用的类当做私有函数用)不好
- oracle复制表数据,复制表结构
- 建立唯一的单文档实例
- Socket用法详解
- cannot find protocol declaration for "RefreshAudioListViewDelegate"
- java无纸化考试系统,大学英语四六级,计算机二三级,自己完成的独立源码
- C++ 一个应用程序只允许一个实例
- 来这里安家
- C#参量参数、输出参数、引用参数、值参数
- ios Signal错误的截获与处理
- 玩一下
- IOS 蓝牙语音通信
- 题目1221: 最大公约数
- ServerSocket用法详解