📄 singletestquestionentryframe.java
字号:
package olts;
import java.awt.*;
import java.util.*;
import javax.swing.*;
public class SingleTestQuestionEntryFrame extends JInternalFrame{
/**this class is the subclass of the ILTS GUI which can provide
* users with the question properties to input base on the current
* datebase
*/
public static final long serialVersionUID = 1L;
private HashMap<String, JTextField> fields;
//current TestQuestionEntry information set by Online application
private TestQuestionEntry question;
//panels to organize GUI
private JPanel leftPanel;
private JPanel rightPanel;
//static integers used to determine new window positions
private static int xOffset=0;
private static int yOffset=0;
private static final String id="试题编号:";
private static final String content="试题内容:";
//private static final String option1="选项A:";
//private static final String option2="选项B:";
//private static final String option3="选项C:";
//private static final String option4="选项D:";
private static final String answer="试题答案:";
private static final String difficulty="试题难度:";
private static final String score="试题分值:";
private static final String timelimited="答题时限:";
//constructor to initiate the GUI interface
public SingleTestQuestionEntryFrame(){
super("试题信息表单",true,true,true);
fields=new HashMap<String, JTextField>();
leftPanel=new JPanel();
rightPanel=new JPanel();
leftPanel.setLayout(new GridLayout(10,1,0,5));
rightPanel.setLayout(new GridLayout(10,1,0,5));
createRow(id);
createRow(content);
//createRow(option1);
//createRow(option2);
//createRow(option3);
//createRow(option4);
createRow(answer);
createRow(score);
createRow(difficulty);
createRow(timelimited);
Container container=getContentPane();
container.add(leftPanel,BorderLayout.WEST);
container.add(rightPanel,BorderLayout.CENTER);
setBounds(xOffset,yOffset,800,350);
//xOffset=(xOffset+30)%300;
//yOffset=(yOffset+30)%300;
}
public void setTestQuestionEntry(TestQuestionEntry inputQuestion){
//set TestQuestionEntry then use its properties
//to place data in each JTextField
question=inputQuestion;
setField(id,question.getID());
setField(content,question.getContent());
//setField(option1,question.getOption1());
//setField(option2,question.getOption2());
//setField(option3,question.getOption3());
//setField(option4,question.getOption4());
setField(answer,question.getAnswer());
setField(score,question.getScore());
setField(difficulty,question.getDifficulty());
setField(timelimited,question.getTimelimited());
}
public TestQuestionEntry getTestQuestionEntry(){
//store TestQuestionEntry data from GUI and return it
question.setID(getField(id));
question.setContent(getField(content));
//question.setOption1(getField(option1));
//question.setOption2(getField(option2));
//question.setOption3(getField(option3));
//question.setOption4(getField(option4));
question.setAnswer(getField(answer));
question.setScore(getField(score));
question.setDifficulty(getField(difficulty));
question.setTimelimited(getField(timelimited));
return question;
}
private void createRow(String name){
//utility method used by container to create one row
//in GUI containing JLabel and JTextField
JLabel label=new JLabel(name,SwingConstants.LEFT);
label.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
leftPanel.add(label);
JTextField field=new JTextField(250);
rightPanel.add(field);
fields.put(name, field);
}
private void setField(String fieldName,String value){
//set text JTextField by specifying field's name and value
JTextField field=(JTextField)fields.get(fieldName);
field.setText(value);
}
private String getField(String fieldName){
//get text text JTextField by specifying field's name
JTextField field=(JTextField)fields.get(fieldName);
return field.getText();
}
//public static void main(String arg[]){
//TestQuestionEntryFrame t=new TestQuestionEntryFrame();
//t.setVisible(true);
//}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -