成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

手把手教你用Java打造一款簡單考試系統之一

開發 后端
隨著移動互聯網的發展,網絡給我們帶來的是無窮的信息,也帶來了便利。與傳統考試模式相對比,在線考試具有很多優越性、它可以將傳統考試過程中的試卷組織、傳送、收集、評判等各環節縮小到一至兩個環節,不僅可以節約大量的時間、人力、物力與財力,還可以大幅度提高考試的客觀性和公正性。

[[379675]]

一、項目背景

隨著移動互聯網的發展,網絡給我們帶來的是無窮的信息,也帶來了便利。與傳統考試模式相對比,在線考試具有很多優越性、它可以將傳統考試過程中的試卷組織、傳送、收集、評判等各環節縮小到一至兩個環節,不僅可以節約大量的時間、人力、物力與財力,還可以大幅度提高考試的客觀性和公正性。利用現有的計算機硬、軟件和網絡資源實現無紙質考試以避免傳統考試的不足。

二、項目目標

設計一款應用程序,顯示駕照考試科目一的題目,進行計時,當用戶提交試卷后,判斷用戶的做題情況,統計得分,并顯示考試結果。

三、項目實施

使用eclipse軟件開發,先上效果圖,如下圖所示。可以看到在界面上有可以有駕照考試科目一的題目,考試的時間,提交試卷,頁面切換的功能。

 

接下來,小編帶大家進行具體的實現,具體的實現步驟如下。

(一)首先實現窗體界面

  1. public static void main(String[] args) { 
  2.         // TODO Auto-generated method stub 
  3.            testsystem t = new testsystem(); 
  4.            t.setTitle("駕照考試"); 
  5.            t.setSize(660,430); 
  6.            t.setVisible(true); 
  7.            t.setResizable(false);//設置窗口是否可以調整 
  8.            t.setLocationRelativeTo(null);//null表示沒有參照物,居中電腦 

使用new關鍵字創建testsystem類:

  1. setTitle表示設置界面的標題; 
  2. setSize(寬,高)表示窗體大小; 
  3. setVisible(truefalse)表示窗體是否可見; 
  4. setResizable(truefalse)表示窗體是否可以由用戶調整大小; 
  5. setLocationRelativeTo()表示設置窗口相對于指定組件的位置。 

效果圖如下圖:

 

(二)界面的設計

1.顯示的界面:創建JFrame實例、JPanel面板,然后把面板添加到JFrame中;

2.構造一個按鈕組對象ButtonGroup,把JRadioButton類型的對象添加到該按鈕組中;

  1. public class testsystem extends JFrame{//變量 
  2.    
  3. private JPanel panel01 =new JPanel(); 
  4. private JLabel problem =new JLabel(); 
  5. private ButtonGroup group=new ButtonGroup(); 
  6. private JRadioButton buttona=new JRadioButton(); 
  7. private JRadioButton buttonb=new JRadioButton(); 
  8. private JRadioButton buttonc=new JRadioButton(); 
  9. private JRadioButton buttond=new JRadioButton(); 
  10. private String str_problem[]=new String[]{ 
  11.             "1、在實習期內駕駛機動車的,應當在車身后部粘貼或者懸掛哪種標志?"
  12.             "2、初次申領的機動車駕駛證的有效期為多少年?"
  13.             "3、夜間道路環境對安全行車的主要影響是什么?"
  14.             "4、路中心雙黃實線是何含義?"
  15.             "5、駕駛車輛行至道路急轉彎處,應怎樣做?" 
  16. }; 
  17. //ABCD選項 
  18. private String answer_a[]=new String[]{ 
  19.             "A、注意新手標志"
  20.             "A、3年"
  21.             "A、能見度低、不利于觀察道路交通情況"
  22.             "A、可跨越對向車道分界線"
  23.             "A、借對向車道行駛" 
  24. }; 
  25. private String answer_b[]=new String[]{ 
  26.             "B、注意避讓標志"
  27.             "B、5年"
  28.             "B、路面復雜多變"
  29.             "B、禁止跨越對向車行道分界線"
  30.             "B、急劇制動低速通過" 
  31. }; 
  32. private String answer_c[]=new String[]{ 
  33.             "C、統一式樣的實習標志"
  34.             "C、6年"
  35.             "C、駕駛人體力下降"
  36.             "C、雙側可跨越同向車道分界線"
  37.             "C、靠彎道外側行駛" 
  38.  
  39. }; 
  40. private String answer_d[]=new String[]{ 
  41.             "D、注意車距標注"
  42.             "D、12年"
  43.             "D、駕駛人易產生沖動、幻覺"
  44.             "D、單向行駛車道分界線"
  45.             "D、充分減速并靠右側行駛" 
  46. }; 
  47. private int num=0;//當前題號 

3.切換題目,交卷按鈕,顯示時間;

  1. private JPanel panel02=new JPanel(); 
  2. private JButton btn_index[]=new JButton[5]; 
  3.  
  4. private JPanel panel03=new JPanel(); 
  5. private JButton btn_last=new JButton("上一題"); 
  6. private JButton btn_next=new JButton("下一題"); 
  7. private JButton btn_finish=new JButton("交卷"); 
  8. private JLabel label01=new JLabel("剩下時間"); 
  9. private JLabel label_time=new JLabel("5:00"); 

4.換壁紙,顯示分數;

  1. private JPanel panel04 = new JPanel(); 
  2. private JLabel label_score = new JLabel(); 
  3. private JLabel image = new JLabel(new ImageIcon()); 
  4.  
  5. private JPanel imagePanel; 
  6. private ImageIcon bg = new ImageIcon("image//bg.jpg"); 
  7. private JLabel label = new JLabel(bg); 
  8.  
  9. private MyListener ml = new MyListener(); 

5.判斷選的答案是否正確;

  1. private int right[] = new int[]{3,3,1,2,4};//正確答案 
  2. private int my_answer[]=new int[]{0,0,0,0,0};//用戶答案 
  3. private int score = 0;//當前分數為0 

6.創建計時器。

  1. private Timer timer; 
  2. private int minute=4,second=60; 

(三)在testsystem類的構造函數設置組件的屬性

1.設置題目,ABCD字體;

  1. problem.setFont(new Font("宋體",Font.BOLD,18));      
  2.   buttona.setFont(new Font("宋體",Font.BOLD,18));      
  3.   buttonb.setFont(new Font("宋體",Font.BOLD,18));      
  4.   buttonc.setFont(new Font("宋體",Font.BOLD,18));      
  5.   buttond.setFont(new Font("宋體",Font.BOLD,18)); 
  6.   problem.setText(str_problem[num]); 
  7.   buttona.setText(answer_a[num]); 
  8.   buttonb.setText(answer_b[num]); 
  9.   buttonc.setText(answer_c[num]); 
  10.   buttond.setText(answer_d[num]); 

2.把JRadioButton類型的對象添加到該按鈕組中實現單選功能;

  1. group.add(buttona);       
  2.  group.add(buttonb);       
  3.  group.add(buttonc);       
  4.  group.add(buttond); 

3.GridLayout網格布局:行,列,水平間距,垂直間距;

  1. panel01.setLayout(new GridLayout(5, 1, 0, 30)); 

4.添加題目和選項;

  1. panel01.add(problem); 
  2. panel01.add(buttona); 
  3. panel01.add(buttonb); 
  4. panel01.add(buttonc); 
  5. panel01.add(buttond); 
  6. this.setLayout(new BorderLayout()); 
  7. this.add(panel01,BorderLayout.NORTH); 

效果圖如下圖:

 

5.五個選題的按鈕;

  1. for(int i=0;i<5;i++){ 
  2.       btn_index[i]=new JButton(""+(i+1)); 
  3.       btn_index[i].setBackground(Color.red); 
  4.       panel02.add(btn_index[i]); 
  5.        
  6.       btn_index[i].addActionListener(ml); 
  7.        
  8.       } 
  9.       this.add(panel02,BorderLayout.CENTER); 

效果圖如下圖:

 

6.添加上一題、下一題、交卷、時間;

  1. btn_last.setEnabled(false);//設置最后一題的不能再點擊下一題 
  2. label_time.setFont(new Font("黑體",Font.BOLD,30)); 
  3. label_time.setForeground(Color.RED); 
  4. panel03.add(btn_last); 
  5. panel03.add(btn_next); 
  6. panel03.add(btn_finish); 
  7. panel03.add(label01); 
  8. panel03.add(label_time); 
  9. this.add(panel03,BorderLayout.SOUTH); 

效果圖如下圖:

 

7.添加顯示分數

注意:調試完先不顯示總分和表情,等用戶交卷后再顯示相應總分和表情。

  1. label_score.setFont(new Font("黑體",Font.PLAIN,30)); 
  2. label_score.setForeground(Color.BLUE); 
  3. panel04.add(label_score); 
  4. panel04.add(image); 
  5. this.add(panel04,BorderLayout.EAST); 

效果圖如下圖:

 

小編寫的界面設計先到這里,接下實現功能的請看java簡單考試系統(下篇)!

四、總結

1.本文主要介紹了JLabel、JButton、JPanel、ButtonGroup、JRadioButton單選框組件的基本使用,完成界面的窗口、題目和選項、顯示進度、顯示按鈕和時間、顯示總分和表情。

2.這些代碼比較簡單,也是一個簡單的小案例,希望對你有所幫助。針對功能的實現請看java簡單考試系統(下篇)。

本文轉載自微信公眾號「Java進階學習交流」,可以通過以下二維碼關注。轉載本文請聯系Java進階學習交流公眾號。

 

責任編輯:武曉燕 來源: Java進階學習交流
相關推薦

2021-02-04 15:52:46

Java考試系統

2021-01-04 09:55:26

Java移動互聯網

2023-05-22 10:04:24

2021-01-05 09:04:20

Javatxt文件

2017-09-14 09:09:04

php應用LibreOfficeWord轉HTML

2021-01-12 05:05:15

Java對碰游戲

2022-02-17 10:26:17

JavaScript掃雷游戲前端

2021-01-10 08:14:01

Go語言TCP掃描器

2021-11-01 10:26:07

CanvasAPI畫布技術HTML5

2021-12-30 08:56:57

Python摸魚倒計界面Python基礎

2021-08-13 09:01:31

Python小游戲Python基礎

2024-01-07 20:00:27

2021-01-21 06:04:55

Go語言TCP目錄生成器

2021-01-13 09:03:48

Java游戲函數

2022-10-19 14:30:59

2021-08-09 13:31:25

PythonExcel代碼

2022-01-24 11:02:27

PySimpleGUPython計算器

2024-11-05 16:40:24

JavaScript搜索引擎

2022-02-25 09:41:05

python搜索引擎

2021-08-24 10:02:21

JavaScript網頁搜索 前端
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲综合色视频在线观看 | 久久aⅴ乱码一区二区三区 亚洲国产成人精品久久久国产成人一区 | 欧美久久精品一级黑人c片 91免费在线视频 | 欧美精品一区三区 | 综合网在线| av在线成人 | 欧美精品片 | 中文字幕在线播放不卡 | 99只有精品| 在线免费观看毛片 | 国产午夜精品一区二区三区 | 看片91| 日韩免费高清视频 | 久久久久久亚洲 | 午夜久久久 | 天天噜天天干 | 国产精品久久久久久久岛一牛影视 | 久久免费精品视频 | 麻豆久久久9性大片 | 亚洲 欧美 另类 日韩 | 国产乱码精品一区二区三区五月婷 | 成人国产精品免费观看 | 国产精品毛片一区二区三区 | 欧美日韩国产一区二区三区不卡 | 午夜电影合集 | 中文字幕欧美一区 | 国产日韩精品久久 | 最近中文字幕在线视频1 | 国产黄色一级电影 | 在线播放中文字幕 | av成年人网站 | 一区二区视频在线观看 | 日韩欧美中文字幕在线视频 | 欧美日韩综合精品 | 亚洲欧美在线观看 | av黄色国产 | 国产精品久久久久久久久久久久冷 | 羞羞的视频免费观看 | 成人在线视 | 久久久久香蕉视频 | 国产精品美女久久久免费 |