java中png转为trf_java无纸化考试系统,大学英语四六级,计算机二三级,自己完成的独立源码...

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.pngpackage 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

*/

JComboBoxjcbPaper;

JComboBoxjcbAnswer;

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);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值