⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 questionpanel.java

📁 java做的一个模拟考试的平台` 有多选题和单选题~可以自测打分 每次能够自己从题库中选折10个测试题来~
💻 JAVA
字号:
 /**
 * @(#)QuestionPanel.java
 *
 *
 * @author 
 * @version 1.00 2008/6/6
 */

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//import java.awt.Color;

public class QuestionPanel extends JPanel{
    public JLabel bTitle=new JLabel("     北京语言大学2008年Java选择题    (注意单选或多选)      ");
    public JButton bPreQ=new JButton("  <--  上一题        ");
    public JButton bNextQ=new JButton("       下一题  -->   ");
    public JButton bSubmit=new JButton("   提交!   ");
    public JTextArea QuestionTitle;
    public int QuestionNo=0;
    public final static int SINGELANSER=1,MULTIPLEANSWER=2; //单选还是多选
    private int nStyle; 
    public String QuestionAnswer; //选择题answer
    private JLabel bStyle;
    
    private JRadioButton jR1;
    private JRadioButton jR2;	
    private JRadioButton jR3;
    private JRadioButton jR4;
    
    private JCheckBox jC1;
    private JCheckBox jC2;
    private JCheckBox jC3;
    private JCheckBox jC4;
    
    private ButtonGroup radioGroup;
    
    private String selection;

  ///////////////////////////////////////////////////////////////////////////////////////////////////     
    
    public QuestionPanel(int nstyle,int questionNO,String choice1,String choice2,String choice3,String choice4,String Questiontitle,String a){
    	
    	
    	setLayout(new FlowLayout(1,60,40));
   
    	QuestionAnswer="1234";
    	selection="1234";
    	QuestionNo=questionNO;
    	nStyle=nstyle;
    	
    	String strStyle="";
    	
    	if(nStyle==SINGELANSER){
    		strStyle="  单选题  ";
    		
    	}	
    	else if(nStyle==MULTIPLEANSWER){
    		strStyle="  多选题  ";
    		
    		}
    	
    	add(bTitle);
    	bTitle.setSize(450,40);
    	bTitle.setFont(new Font("华文新魏",Font.BOLD,21));
    //	bTitle.setBorder(BorderFactory.createLineBorder(Color.orange,3));
    	
    
    	add(bPreQ);
    
    	add(bNextQ);
    	
   
    	bStyle=new JLabel(strStyle);
    	add(bStyle);
    	bStyle.setFont(new Font("宋体",Font.BOLD,15) );
    	bStyle.setSize(150,40);
    //	bStyle.setBorder(BorderFactory.createLineBorder(Color.red,3));
    	
    	
    	add(bSubmit);
    	bSubmit.setVisible(false);
    	
    	QuestionTitle=new JTextArea(7,38);
    	add(QuestionTitle);
    	QuestionTitle.setText("第 "+QuestionNo+" 题 :  "+Questiontitle);
    	QuestionTitle.setFont(new Font("华文新魏",Font.BOLD,15) );
    	QuestionTitle.setEditable(false);
    	
    	if(nStyle==SINGELANSER){
    		
    		radioGroup=new ButtonGroup();
    		jR1=new JRadioButton("A."+choice1,false);
    		jR2=new JRadioButton("B."+choice2,false);
    		jR3=new JRadioButton("C."+choice3,false);
    		jR4=new JRadioButton("D."+choice4,false);	
    		add(jR1);
    		add(jR2);
    		add(jR3);
    		add(jR4);
    		jR1.setFont(new Font("Serif", Font.BOLD, 14));
    		jR2.setFont(new Font("Serif", Font.BOLD, 14));
    		jR3.setFont(new Font("Serif", Font.BOLD, 14));
    		jR4.setFont(new Font("Serif", Font.BOLD, 14));
    		radioGroup.add(jR1);
    		radioGroup.add(jR2);	
    		radioGroup.add(jR3);
    		radioGroup.add(jR4);
    		 // register events for JRadioButtons
            jR1.addItemListener( new RadioButtonHandler( ) );
            jR2.addItemListener( new RadioButtonHandler( ) );
            jR3.addItemListener( new RadioButtonHandler( ) );
            jR4.addItemListener( new RadioButtonHandler( ) );
    	}
    	else if(nStyle==MULTIPLEANSWER){
    		
    		jC1=new JCheckBox("A."+choice1,false);
    		jC2=new JCheckBox("B."+choice2,false);
    		jC3=new JCheckBox("C."+choice3,false);
    		jC4=new JCheckBox("D."+choice4,false);
    		jC1.setFont(new Font("Serif", Font.BOLD, 14) );
    		jC2.setFont(new Font("Serif", Font.BOLD, 14));
    		jC3.setFont(new Font("Serif", Font.BOLD, 14));
    		jC4.setFont(new Font("Serif", Font.BOLD, 14));
    		add(jC1);
    		add(jC2);
    		add(jC3);
    		add(jC4);
    		
    	// register events for JRadioButtons
            jC1.addItemListener( new CheckBoxHandler( ) );
            jC2.addItemListener( new CheckBoxHandler( ) );
            jC3.addItemListener( new CheckBoxHandler( ) );
            jC4.addItemListener(new CheckBoxHandler( ) );	
    	}
    	
 
    	for(int i=0;i<4;i++)
    	{
    		QuestionAnswer=QuestionAnswer.replace(QuestionAnswer.charAt(i),a.charAt(i)); //初始化答案
    	} 
    		

    		
    	setVisible(true);	
	
    }
    
    
    public class RadioButtonHandler implements ItemListener{
    	public void itemStateChanged( ItemEvent e )
    	{
    	  if(e.getItemSelectable()==jR1)        selection=selection.replace(selection.charAt(0),'A');
    	  else if(e.getItemSelectable()==jR2)   selection=selection.replace(selection.charAt(1),'B');
    	  else if(e.getItemSelectable()==jR3)   selection=selection.replace(selection.charAt(2),'C');
    	  else if(e.getItemSelectable()==jR4)   selection=selection.replace(selection.charAt(3),'D');
    	}
    	
    }
    
    
    public class CheckBoxHandler implements ItemListener{
    	public void itemStateChanged( ItemEvent e )
    	{
    	  if(e.getItemSelectable()==jC1)   selection=selection.replace(selection.charAt(0),'A');
    	  if(e.getItemSelectable()==jC2)   selection=selection.replace(selection.charAt(1),'B');
    	  if(e.getItemSelectable()==jC3)   selection=selection.replace(selection.charAt(2),'C');
    	  if(e.getItemSelectable()==jC4)   selection=selection.replace(selection.charAt(3),'D');	
    	}
	
    	
    }
    
    
    public boolean TorF(){
    	for(int i=0;i<4;i++)
    	{
    		if( selection.charAt(i)!=QuestionAnswer.charAt(i))
    			return false;		
    	}   	
    	return true;	   	
    }
   
}//class

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -