日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
手把手教你用Java打造一款簡(jiǎn)單考試系統(tǒng)之一

一、項(xiàng)目背景

創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括石柱土家族網(wǎng)站建設(shè)、石柱土家族網(wǎng)站制作、石柱土家族網(wǎng)頁(yè)制作以及石柱土家族網(wǎng)絡(luò)營(yíng)銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,石柱土家族網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到石柱土家族省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展,網(wǎng)絡(luò)給我們帶來的是無窮的信息,也帶來了便利。與傳統(tǒng)考試模式相對(duì)比,在線考試具有很多優(yōu)越性、它可以將傳統(tǒng)考試過程中的試卷組織、傳送、收集、評(píng)判等各環(huán)節(jié)縮小到一至兩個(gè)環(huán)節(jié),不僅可以節(jié)約大量的時(shí)間、人力、物力與財(cái)力,還可以大幅度提高考試的客觀性和公正性。利用現(xiàn)有的計(jì)算機(jī)硬、軟件和網(wǎng)絡(luò)資源實(shí)現(xiàn)無紙質(zhì)考試以避免傳統(tǒng)考試的不足。

二、項(xiàng)目目標(biāo)

設(shè)計(jì)一款應(yīng)用程序,顯示駕照考試科目一的題目,進(jìn)行計(jì)時(shí),當(dāng)用戶提交試卷后,判斷用戶的做題情況,統(tǒng)計(jì)得分,并顯示考試結(jié)果。

三、項(xiàng)目實(shí)施

使用eclipse軟件開發(fā),先上效果圖,如下圖所示??梢钥吹皆诮缑嫔嫌锌梢杂旭{照考試科目一的題目,考試的時(shí)間,提交試卷,頁(yè)面切換的功能。

接下來,小編帶大家進(jìn)行具體的實(shí)現(xiàn),具體的實(shí)現(xiàn)步驟如下。

(一)首先實(shí)現(xiàn)窗體界面

 
 
 
 
  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);//設(shè)置窗口是否可以調(diào)整 
  8.            t.setLocationRelativeTo(null);//null表示沒有參照物,居中電腦 

使用new關(guān)鍵字創(chuàng)建testsystem類:

 
 
 
 
  1. setTitle表示設(shè)置界面的標(biāo)題; 
  2. setSize(寬,高)表示窗體大小; 
  3. setVisible(true或false)表示窗體是否可見; 
  4. setResizable(true或false)表示窗體是否可以由用戶調(diào)整大??; 
  5. setLocationRelativeTo()表示設(shè)置窗口相對(duì)于指定組件的位置。 

效果圖如下圖:

(二)界面的設(shè)計(jì)

1.顯示的界面:創(chuàng)建JFrame實(shí)例、JPanel面板,然后把面板添加到JFrame中;

2.構(gòu)造一個(gè)按鈕組對(duì)象ButtonGroup,把JRadioButton類型的對(duì)象添加到該按鈕組中;

 
 
 
 
  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、在實(shí)習(xí)期內(nèi)駕駛機(jī)動(dòng)車的,應(yīng)當(dāng)在車身后部粘貼或者懸掛哪種標(biāo)志?", 
  12.             "2、初次申領(lǐng)的機(jī)動(dòng)車駕駛證的有效期為多少年?", 
  13.             "3、夜間道路環(huán)境對(duì)安全行車的主要影響是什么?", 
  14.             "4、路中心雙黃實(shí)線是何含義?", 
  15.             "5、駕駛車輛行至道路急轉(zhuǎn)彎處,應(yīng)怎樣做?" 
  16. }; 
  17. //ABCD選項(xiàng) 
  18. private String answer_a[]=new String[]{ 
  19.             "A、注意新手標(biāo)志", 
  20.             "A、3年", 
  21.             "A、能見度低、不利于觀察道路交通情況", 
  22.             "A、可跨越對(duì)向車道分界線", 
  23.             "A、借對(duì)向車道行駛" 
  24. }; 
  25. private String answer_b[]=new String[]{ 
  26.             "B、注意避讓標(biāo)志", 
  27.             "B、5年", 
  28.             "B、路面復(fù)雜多變", 
  29.             "B、禁止跨越對(duì)向車行道分界線", 
  30.             "B、急劇制動(dòng)低速通過" 
  31. }; 
  32. private String answer_c[]=new String[]{ 
  33.             "C、統(tǒng)一式樣的實(shí)習(xí)標(biāo)志", 
  34.             "C、6年", 
  35.             "C、駕駛?cè)梭w力下降", 
  36.             "C、雙側(cè)可跨越同向車道分界線", 
  37.             "C、靠彎道外側(cè)行駛" 
  38.  
  39. }; 
  40. private String answer_d[]=new String[]{ 
  41.             "D、注意車距標(biāo)注", 
  42.             "D、12年", 
  43.             "D、駕駛?cè)艘桩a(chǎn)生沖動(dòng)、幻覺", 
  44.             "D、單向行駛車道分界線", 
  45.             "D、充分減速并靠右側(cè)行駛" 
  46. }; 
  47. private int num=0;//當(dāng)前題號(hào) 

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

 
 
 
 
  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("剩下時(shí)間"); 
  9. private JLabel label_time=new JLabel("5:00"); 

4.換壁紙,顯示分?jǐn)?shù);

 
 
 
 
  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;//當(dāng)前分?jǐn)?shù)為0 

6.創(chuàng)建計(jì)時(shí)器。

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

(三)在testsystem類的構(gòu)造函數(shù)設(shè)置組件的屬性

1.設(shè)置題目,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類型的對(duì)象添加到該按鈕組中實(shí)現(xiàn)單選功能;

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

3.GridLayout網(wǎng)格布局:行,列,水平間距,垂直間距;

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

4.添加題目和選項(xiàng);

 
 
 
 
  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.五個(gè)選題的按鈕;

 
 
 
 
  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.添加上一題、下一題、交卷、時(shí)間;

 
 
 
 
  1. btn_last.setEnabled(false);//設(shè)置最后一題的不能再點(diǎn)擊下一題 
  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.添加顯示分?jǐn)?shù)

注意:調(diào)試完先不顯示總分和表情,等用戶交卷后再顯示相應(yīng)總分和表情。

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

效果圖如下圖:

小編寫的界面設(shè)計(jì)先到這里,接下實(shí)現(xiàn)功能的請(qǐng)看java簡(jiǎn)單考試系統(tǒng)(下篇)!

四、總結(jié)

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

2.這些代碼比較簡(jiǎn)單,也是一個(gè)簡(jiǎn)單的小案例,希望對(duì)你有所幫助。針對(duì)功能的實(shí)現(xiàn)請(qǐng)看java簡(jiǎn)單考試系統(tǒng)(下篇)。

本文轉(zhuǎn)載自微信公眾號(hào)「Java進(jìn)階學(xué)習(xí)交流」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系Java進(jìn)階學(xué)習(xí)交流公眾號(hào)。


當(dāng)前文章:手把手教你用Java打造一款簡(jiǎn)單考試系統(tǒng)之一
文章出自:http://www.5511xx.com/article/cccgshj.html