


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Question/* To change this template, choose Tools | Templates* and open the template in the editor.*/package ujn.ise.qsp.entity 。import java.io.Serializable 。* author Administrator*/public class Question implements Serializable private String title 。private String A 。private String B 。private String
2、C 。private String D 。private String E 。private double score 。private String stdAns 。private String stuAns 。public Question(> public Question(String title, String A, String B, String C, String D, String E, double score, String stdAns, String stuAns> this.title = title 。this.A = A 。this.B = B 。t
3、his.C = C 。this.D = D 。this.E = E 。this.score = score 。this.stdAns = stdAns 。this.stuAns = stuAns 。public String getTitle(> return title 。public void setTitle(String title> this.title = title 。return A 。public void setA(String A> this.A = A 。 public String getB(> return B 。public void se
4、tB(String B> this.B = B 。public String getC(> return C 。public void setC(String C> this.C = C 。public String getD(> return D 。public void setD(String D> this.D = D 。public String getE(> return E 。public void setE(String E> this.E = E 。public double getScore(> return score 。pu
5、blic void setScore(double score> this.score = score 。public String getStdAns(> return stdAns 。public void setStdAns(String stdAns> this.stdAns = stdAns 。public String getStuAns(> return stuAns 。public void setStuAns(String stuAns> this.stuAns = stuAns 。public double check(> return
6、2 。Text paper/* To change this template, choose Tools | Templates* and open the template in the editor.*/package ujn.ise.qsp.entity 。import java.io.Serializable 。import java.util.ArrayList 。/* author Administrator*/public class TestPaper implements Serializable private String title 。private double s
7、core 。private ArrayList<Question> qs 。private int time 。private String teacher 。public TestPaper(> public TestPaper(String title, double score, ArrayList<Question> qs, int time, String teacher> this.title = title 。this.score = score 。this.qs = qs 。this.time = time 。 this.teacher =
8、teacher 。public String getTitle(> return title 。public void setTitle(String title> this.title = title 。public double getScore(> return score 。this.score = score。public ArrayList<Question> getQs(> return qs 。public void setQs(ArrayList<Question> qs> this.qs = qs 。public int
9、 getTime(> return time 。public void setTime(int time> this.time = time 。public String getTeacher(> return teacher 。public void setTeacher(String teacher> this.teacher = teacher 。public double calculateScore(> double sum = 0 。for (Question question : qs> sum += question.check(> 。
10、return sum 。toolkit/* To change this template, choose Tools | Templates* and open the template in the editor.*/package ujn.ise.qsp.toolkit 。import java.io.BufferedReader 。import java.io.File 。import java.io.FileInputStream 。import java.io.FileOutputStream 。import java.io.FileReader 。import java.io.I
11、OException 。import java.io.ObjectInputStream 。import java.io.ObjectOutputStream 。import java.sql.Connection 。import java.sql.DriverManager 。import java.sql.ResultSet 。import java.sql.SQLException 。import java.sql.Statement 。import java.util.ArrayList 。import java.util.logging.Level 。import java.util
12、.logging.Logger 。import ujn.ise.qsp.entity.Question 。import ujn.ise.qsp.entity.TestPaper 。/* author Administrator*/public class Toolkit public static TestPaper generateTestPaper(String url, String user, String password> throws SQLException TestPaper paper = new TestPaper(>。ArrayList<Questio
13、n> qs = new ArrayList<>(> 。Connection conn = DriverManager.getConnection(url, user, password> 。Statement stmt = conn.createStatement(>。String sql = "select * from multiplequestion" 。ResultSet rset = stmt.executeQuery(sql> 。while (rset.next(>> Question q = new Que
14、stion(> 。q.setTitle(rset.getString(1>> 。q.setA(rset.getString(2>> 。q.setB(rset.getString(3>> 。q.setC(rset.getString(4>> 。q.setD(rset.getString(5>> 。q.setE(rset.getString(6>> 。q.setStdAns(rset.getString(7>> 。q.setStuAns(""> 。q.setScore(rset.ge
15、tDouble(8>> 。qs.add(q> 。conn.close(> 。paper.setQs(qs>。return paper 。public static TestPaper generateTestPaper(String fname> throws IOException return generateTestPaper(new File(fname>> 。public static TestPaper generateTestPaper(File file> throws IOException TestPaper paper
16、 = new TestPaper(>。ArrayList<Question> qs = new ArrayList<>(> 。BufferedReader in = new BufferedReader(new FileReader(file>> 。String line = in.readLine(> 。 paper.setTitle(line> 。while (true> line = in.readLine(> 。if (line = null> break 。Question q = new Question
17、(> 。 q.setTitle(line> 。q.setA(in.readLine(>> 。 q.setB(in.readLine(>> 。q.setC(in.readLine(>> 。 q.setD(in.readLine(>> 。q.setE(in.readLine(>> 。 q.setStdAns(in.readLine(>> 。q.setStuAns(""> 。 q.setScore(Double.parseDouble(in.readLine(>>> 。qs
18、.add(q> 。in.close(> 。 paper.setQs(qs>。return paper 。public static boolean saveTestPaper(TestPaper paper, String fname> ObjectOutputStream out = null 。try File file = new File(fname> 。FileOutputStream fout = new FileOutputStream(file> 。out = new ObjectOutputStream(fout> 。 out.wri
19、teObject(paper> 。out.close(> 。 return true 。 catch (IOException ex> Logger.getLogger(Toolkit.class.getName(>>.log(Level.SEVERE, null, ex> 。 return false 。 finally try out.close(> 。 catch (IOException ex> Logger.getLogger(Toolkit.class.getName(>>.log(Level.SEVERE, null,
20、ex> 。public static TestPaper readTestPaper(String fname> throws IOException, ClassNotFoundException return readTestPaper(new File(fname>> 。public static TestPaper readTestPaper(File file> throws IOException, ClassNotFoundException ObjectInputStream in = new ObjectInputStream(new FileI
21、nputStream(file>> 。TestPaper paper = (TestPaper> in.readObject(>。 in.close(> 。return paper 。Eaxm system/* To change this template, choose Tools | Templates* and open the template in the editor.*/。import java.awt.event.ActionEvent 。import java.awt.event.ActionListener 。import java.io.I
22、OException 。import java.util.logging.Level 。import java.util.logging.Logger 。import javax.swing.ImageIcon 。import javax.swing.JOptionPane 。import javax.swing.Timer 。import ujn.ise.qsp.entity.TestPaper 。import ujn.ise.qsp.toolkit.Toolkit 。import ujn.ise.qsp.view.AboutJDialog 。import ujn.ise.qsp.view.
23、ExerciseJDialog 。import ujn.ise.qsp.view.MultipleJDialog 。/* author Administrator*/public class ExamSystem extends javax.swing.JFrame private int time = 90 * 60 。private Timer timer 。private MultipleJDialog mdialog 。private int flag 。private TestPaper paper。private ExerciseJDialog exerdialog 。privat
24、e class MoveTitle extends Thread Overridepublic void run(> int w = jLabelTitle.getWidth(> 。int x = w 。int y = jLabelTitle.getY(> 。while (true> if (x < -w> x = w 。 else x -= 5 。 jLabelTitle.setLocation(x, y> 。 try Thread.sleep(50> 。 catch (InterruptedException ex> Logger.ge
25、tLogger(ExamSystem.class.getName(>>.log(Level.SEVERE, null, ex> 。/* Creates new form ExamSystem*/public ExamSystem(> initComponents(> 。this.setLocationRelativeTo(null> 。timer = new Timer(1000, new ActionListener(> Overridepublic void actionPerformed(ActionEvent e> String time
26、str = String.format("%02d:%02d:%02d", time- / 3600, time % 3600 / 60, time % 60> 。jLabelTime.setText(timestr> 。if (time = 0> > 。flag = 0 。 /* This method is called from within the constructor to initialize the form.* WARNING: Do NOT modify this code. The content of this method
27、is always * regenerated by the Form Editor.*/SuppressWarnings("unchecked">/ <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents(> jToolBar1 = new javax.swing.JToolBar(> 。 jButtonExit = new javax.swing.JButton(> 。jLa
28、bel2 = new javax.swing.JLabel(> 。 jLabelName = new javax.swing.JLabel(> 。 jLabelTime = new javax.swing.JLabel(> 。jLabel5 = new javax.swing.JLabel(> 。 jSeparator2 = new javax.swing.JSeparator(> 。 imageJPanel1 = new ujn.ise.qsp.view.ImageJPanel(> 。jPanel1 = new javax.swing.JPanel(>
29、; 。jLabelTitle = new javax.swing.JLabel(> 。jMenuBar1 = new javax.swing.JMenuBar(> 。jMenu1 = new javax.swing.JMenu(> 。jMenuItemLogin = new javax.swing.JMenuItem(> 。 jMenuItemHandin = new javax.swing.JMenuItem(> 。jSeparator1 = new javax.swing.JPopupMenu.Separator(> 。 jMenuItemExit =
30、new javax.swing.JMenuItem(> 。jMenuMultiple = new javax.swing.JMenu(> 。 jMenuItemMultipleQuestion = new javax.swing.JMenuItem(> 。jMenu3 = new javax.swing.JMenu(> 。jMenuItemExercise = new javax.swing.JMenuItem(> 。jMenuItemAbout = new javax.swing.JMenuItem(> 。 setDefaultCloseOperation
31、(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE> setTitle("Exam System"> 。setIconImage(new ImageIcon("logo.jpg">.getImage(>> 。 addWindowListener(new java.awt.event.WindowAdapter(> public void windowClosing(java.awt.event.WindowEvent evt> formWindowClosing(ev
32、t> 。> 。jToolBar1.setRollover(true> 。 jButtonExit.setText("Exit"> 。 jButtonExit.setFocusable(false> 。 jButtonExit.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER> 。 jButtonExit.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM> 。 jButtonExit.addActio
33、nListener(new java.awt.event.ActionListener(> public void actionPerformed(java.awt.event.ActionEvent evt> jButtonExitActionPerformed(evt> 。> 。jToolBar1.add(jButtonExit> 。jLabel2.setText(" 考生姓名: "> 。jLabelName.setText("jLabel3"> 。 jLabelTime.setText("00:0
34、0:00"> 。 jLabel5.setText(" 剩余时间: "> 。newjavax.swing.GroupLayout imageJPanel1Layout = javax.swing.GroupLayout(imageJPanel1> 。imageJPanel1.setLayout(imageJPanel1Layout> 。 imageJPanel1Layout.setHorizontalGroup(imageJPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Ali
35、gnment.LEADING> .addGap(0, 496, Short.MAX_V ALUE>> 。 imageJPanel1Layout.setVerticalGroup(imageJPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING> .addGap(0, 268, Short.MAX_V ALUE>> 。jPanel1.setLayout(null> 。 jLabelTitle.setBackground(new java.awt.Color(5
36、1, 0, 255>> 。 jLabelTitle.setFont(new java.awt.Font(" 华文行楷 ", 1, 18>> 。 / NOI18N jLabelTitle.setForeground(new java.awt.Color(255, 255, 0>> 。 jLabelTitle.setHorizontalAlignment(javax.swing.SwingConstants.CENTER> 。 jLabelTitle.setText("Welcome."> 。jLabelTit
37、le.setOpaque(true> 。 jPanel1.add(jLabelTitle> 。jLabelTitle.setBounds(10, 10, 476, 21> 。 jMenu1.setText(" 操作 (O>"> 。jMenu1.addMenuListener(new javax.swing.event.MenuListener(> public void menuCanceled(javax.swing.event.MenuEvent evt> public void menuDeselected(javax.swi
38、ng.event.MenuEvent evt> public void menuSelected(javax.swing.event.MenuEvent evt> jMenu1MenuSelected(evt> 。 > 。jMenuItemLogin.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent. VK_L, java.awt.event.InputEvent.CTRL_MASK>> 。jMenuItemLogin.setText("Login&q
39、uot;> 。 jMenuItemLogin.addActionListener(new java.awt.event.ActionListener(> public void actionPerformed(java.awt.event.ActionEvent evt> jMenuItemLoginActionPerformed(evt> 。 > 。jMenu1.add(jMenuItemLogin> 。 jMenuItemHandin.setText("Hand In"> 。 jMenuItemHandin.addActionL
40、istener(new java.awt.event.ActionListener(> public void actionPerformed(java.awt.event.ActionEvent evt> jMenuItemHandinActionPerformed(evt> 。> 。jMenu1.add(jMenuItemHandin> 。 jMenu1.add(jSeparator1> 。jMenuItemExit.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyE
41、vent.V K_X, java.awt.event.InputEvent.ALT_MASK>> 。jMenuItemExit.setText("Exit"> 。 jMenuItemExit.addActionListener(new java.awt.event.ActionListener(> public void actionPerformed(java.awt.event.ActionEvent evt> jMenuItemExitActionPerformed(evt> 。> 。jMenu1.add(jMenuItemE
42、xit> 。 jMenuBar1.add(jMenu1> 。 jMenuMultiple.setText(" 测试 "> 。 jMenuMultiple.addMenuListener(new javax.swing.event.MenuListener(> public void menuCanceled(javax.swing.event.MenuEvent evt> public void menuDeselected(javax.swing.event.MenuEvent evt> public void menuSelected
43、(javax.swing.event.MenuEvent evt> jMenuMultipleMenuSelected(evt> 。> 。jMenuItemMultipleQuestion.setText(" 多选题 ."> 。 jMenuItemMultipleQuestion.addActionListener(new java.awt.event.ActionListener(> public void actionPerformed(java.awt.event.ActionEvent evt> jMenuItemMultiple
44、QuestionActionPerformed(evt> 。> 。 jMenuMultiple.add(jMenuItemMultipleQuestion> 。 jMenuBar1.add(jMenuMultiple> 。 jMenu3.setText("Help"> 。jMenuItemExercise.setText(" 演算纸 "> 。 jMenuItemExercise.addActionListener(new java.awt.event.ActionListener(> public void ac
45、tionPerformed(java.awt.event.ActionEvent evt> jMenuItemExerciseActionPerformed(evt> 。> 。 jMenu3.add(jMenuItemExercise> 。 jMenuItemAbout.setText("About"> 。 jMenuItemAbout.addActionListener(new java.awt.event.ActionListener(> public void actionPerformed(java.awt.event.Actio
46、nEvent evt> jMenuItemAboutActionPerformed(evt> 。 > 。 jMenu3.add(jMenuItemAbout> 。 jMenuBar1.add(jMenu3> 。 setJMenuBar(jMenuBar1> 。 javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane(>> 。 getContentPane(>.setLayout(layout> 。 layout.setHorizontalG
47、roup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING> .addComponent(jToolBar1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_V ALUE>.addGroup(layout.createSequentialGroup(> .addComponent(jLabel2> .addPreferredGap(javax.swing.La
48、youtStyle.ComponentPlacement.RELATED> .addComponent(jLabelName, javax.swing.GroupLayout.PREFERRED_SIZE,91,javax.swing.GroupLayout.PREFERRED_SIZE>.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,245,Short.MAX_VALUE>.addComponent(jLabel5> .addPreferredGap(javax.swing.Lay
49、outStyle.ComponentPlacement.RELATED> .addComponent(jLabelTime>>.addComponent(jSeparator2> .addGroup(layout.createSequentialGroup(>>.addComponent(imageJPanel1,javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_V ALUE>.addComponent(jPanel1,javax.s
50、wing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_V ALUE>>.addContainerGap(>>> 。 layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING> .addGroup(layout.createSequentialGroup(>.addComponent(jToolBar1, javax.swin
51、g.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE>.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED>.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, 40, Short.MAX_VALUE>.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED
52、>.addComponent(imageJPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE>.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED>.addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swin
53、g.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE>.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED>.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELIN E>.addComponent(jLabel2>.addComponent(jLabelName>.addComponent(jLabelTi
54、me> .addComponent(jLabel5>>>> 。pack(> 。/ </editor-fold>private void jMenuItemExitActionPerformed(java.awt.event.ActionEvent evt> exit(> 。private void jButtonExitActionPerformed(java.awt.event.ActionEvent evt> exit(> 。private void formWindowClosing(java.awt.event.W
55、indowEvent evt> exit(> 。private void jMenuItemAboutActionPerformed(java.awt.event.ActionEvent evt> AboutJDialog about = new AboutJDialog(this, true> 。 about.setVisible(true> 。private void jMenuItemLoginActionPerformed(java.awt.event.ActionEvent evt> String name = JOptionPane.showIn
56、putDialog(this, "Please input your name:"> 。if (name = null | name.equals("">> return 。this.jLabelName.setText(name> 。try paper = Toolkit.generateTestPaper("paper.txt"> 。 catch (IOException ex> Logger.getLogger(ExamSystem.class.getName(>>.log(Lev
57、el.SEVERE, null, ex> 。 return 。this.jLabelTitle.setText(paper.getTitle(>> 。new MoveTitle(>.start(> 。 timer.start(> 。flag = 1 。private void jMenuItemMultipleQuestionActionPerformed(java.awt.event.ActionEvent evt> if (mdialog = null> mdialog = new MultipleJDialog(this, true, pa
58、per.getQs(>> 。 mdialog.setVisible(true> 。private void jMenuItemHandinActionPerformed(java.awt.event.ActionEvent evt> double score = paper.calculateScore(> 。JOptionPane.showMessageDialog(this, score> 。flag = 2 。private void jMenu1MenuSelected(javax.swing.event.MenuEvent evt> this
59、.jMenuItemLogin.setEnabled(flag = 0 | flag = 2> 。 this.jMenuItemHandin.setEnabled(flag = 1> 。private void jMenuMultipleMenuSelected(javax.swing.event.MenuEvent evt> this.jMenuItemMultipleQuestion.setEnabled(flag = 1> 。private void jMenuItemExerciseActionPerformed(java.awt.event.ActionEve
60、nt evt> if (exerdialog = null> exerdialog = new ExerciseJDialog(this, false> 。 exerdialog.setVisible(true> 。/* param args the command line arguments*/public static void main(String args> /* Set the Nimbus look and feel */<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional> "> /* If Nimbus (introduced in Java SE 6> is not available, stay with the default look and feel. * For details see*/try for (javax.swing.UIManager.LookAndFeelInfo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年钢管扣件试题及答案
- 暑期研学夏令营安全教育
- 2025短期合同工聘用协议范文
- 美容抛光专业知识培训班课件
- 2025城市绿化照明工程合同
- 2025年暖通工程师测试题库及答案
- 2025年初级注册安全师工程师教材历年真题试卷及答案
- 英语教学课件比赛胜利
- 美容师医美培训课件
- 星洋小学入学考试题及答案
- 《健康评估技术》课件-7.《发绀》
- 《分析化学总复习》课件
- 《生物试卷分析》课件
- 皮肤科常见疾病瘙痒症护理的课件
- 2023年湖北黄石新港(物流)工业园区总工会协理员招考聘用笔试历年难易错点考题荟萃附带答案详解
- 电力电子技术(第3版)PPT全套完整教学课件
- 招投标结果申诉函
- 内部准驾证管理办法
- dd5e人物卡可填充格式角色卡夜版
- 电厂集控全能运行值班员应知应会(终结版)
- 南通城市介绍家乡介绍PPT
评论
0/150
提交评论