📄 questionpanel.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 + -