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

📄 blankfillitem.java

📁 一个带界面的在线测试系统
💻 JAVA
字号:
/**
 * BlankFillItem.java
 * create by ZZ, 2007.12.16
 */
package olts.application;

import javax.swing.JPanel;
import java.awt.*;
import javax.swing.*;
import javax.swing.text.PlainDocument;
import java.awt.event.*;
import javax.swing.event.*;

/**
 * 该类描述了
 * @author ZZ
 * @version 1.0
 */
class BlankFillItem extends Item {
	
	public BlankFillItem(){
		this.setType("BlankFillItem");
	}
	/**
	 * 用一个试题来初始化这个试题
	 * @param i
	 */
	public BlankFillItem(Item i){
		
		super(i);
		this.setType("BlankFillItem");
	}
	
	/**
	 * 用具体的参数初始化试题
	 * @param i 试题Id
	 * @param d 试题难易度
	 * @param time 试题的时间期限
	 * @param c 试题的内容
	 * @param a 试题的答案
	 * @param s 试题的分值
	 */
	public BlankFillItem(int i, int d, int time, String c,
			String a, int s){
		super(i, d, time, c, a, s,"BlankFillItem");
	}
		
	/**
	 * 重写绘制答案的区域,以实现填空题自己的答题方式
	 */
	protected void drawAnswerArea(JPanel panel){
            
            panel.setLayout(new GridLayout(3,1));
            
            panel.add(new JPanel());
            
            JPanel area = new JPanel();
            
            JLabel jb = new JLabel("请在右边的方框处做答:");
            final JTextField jtf = new JTextField(7);
            
            PlainDocument doc = new PlainDocument();
            
            doc.addDocumentListener(new DocumentListener(){
                public void changedUpdate(DocumentEvent e){
                    //JOptionPane.showMessageDialog(null,jtf.getText());
                    setUserAnswer(jtf.getText());
                }
                public void insertUpdate(DocumentEvent e){
                    //JOptionPane.showMessageDialog(null,jtf.getText());
                    setUserAnswer(jtf.getText());
                }
                public void removeUpdate(DocumentEvent e){
                    //JOptionPane.showMessageDialog(null,jtf.getText());
                    setUserAnswer(jtf.getText());
                }
     
            });
            jtf.setDocument(doc);
            
            jb.setVisible(true);
            jtf.setVisible(true);
            area.setLayout(new GridLayout(1,2));
            area.add(jb);
            area.add(jtf);
            
            panel.add(area);
            
            panel.add(new JPanel());
		
	}

}

⌨️ 快捷键说明

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