📄 addquestion.java
字号:
package com.exam.ui.teacher;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.util.ArrayList;
import java.util.List;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import com.exam.db.bean.Course;
import com.exam.db.bean.Question;
import com.exam.db.dao.CourseDao;
import com.exam.db.dao.QuestionDao;
import com.exam.ui.SuperFrame;
public class AddQuestion extends SuperFrame {
private static final long serialVersionUID = 1L;
private String teaID;
public AddQuestion(String teaID) {
try {
this.teaID = teaID;
init();
this.setVisible(true);
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
} catch (Exception e) {
e.printStackTrace();
}
}
private void init() {
this.setTitle("添加试题");
this.setSize(600, 450);
this.setCenter();
JPanel pnlTotal = new JPanel();
this.getContentPane().add(pnlTotal);
pnlTotal.setLayout(null);
JLabel lblCouID = new JLabel("科目");
lblCouID.setBounds(60, 20, 40, 25);
pnlTotal.add(lblCouID);
final JComboBox cboCouID = new JComboBox();
cboCouID.setMaximumRowCount(5);
cboCouID.addItem("");
cboCouID.setBounds(100, 20, 150, 25);
pnlTotal.add(cboCouID);
Course course = null;
CourseDao courseDao = new CourseDao();
List<Course> list = new ArrayList<Course>();
list = courseDao.selectAllCourse();
for (int i = 0; i < list.size(); i++) {
course = new Course();
course = list.get(i);
String str = course.getGrade() + "-" + course.getCouName();
cboCouID.addItem(str);
}
JLabel lblQueType = new JLabel("类型");
lblQueType.setBounds(270, 20, 40, 25);
pnlTotal.add(lblQueType);
final JComboBox cboQueType = new JComboBox();
cboQueType.setBounds(310, 20, 100, 25);
cboQueType.setMaximumRowCount(5);
cboQueType.addItem("选择题");
cboQueType.addItem("判断题");
cboQueType.addItem("填空题");
pnlTotal.add(cboQueType);
JLabel lblMark = new JLabel("分值");
lblMark.setBounds(430, 20, 40, 25);
pnlTotal.add(lblMark);
final JTextField txtMark = new JTextField("5");
txtMark.setBounds(470, 20, 50, 25);
txtMark.setEditable(false);
pnlTotal.add(txtMark);
JLabel lblQuestion = new JLabel("题目:");
lblQuestion.setBounds(60, 60, 40, 25);
pnlTotal.add(lblQuestion);
final JTextArea txaQuestion = new JTextArea();
txaQuestion.setLineWrap(true);
JScrollPane scpQuestion = new JScrollPane(txaQuestion);
scpQuestion.setBounds(100, 60, 420, 60);
pnlTotal.add(scpQuestion);
JLabel lblAnswerA = new JLabel("答案A:");
lblAnswerA.setBounds(60, 135, 40, 25);
pnlTotal.add(lblAnswerA);
final JTextArea txaAnswerA = new JTextArea();
txaAnswerA.setLineWrap(true);
JScrollPane scpAnswerA = new JScrollPane(txaAnswerA);
scpAnswerA.setBounds(100, 135, 420, 25);
pnlTotal.add(scpAnswerA);
JLabel lblAnswerB = new JLabel("答案B:");
lblAnswerB.setBounds(60, 170, 40, 25);
pnlTotal.add(lblAnswerB);
final JTextArea txaAnswerB = new JTextArea();
txaAnswerB.setLineWrap(true);
JScrollPane scpAnswerB = new JScrollPane(txaAnswerB);
scpAnswerB.setBounds(100, 170, 420, 25);
pnlTotal.add(scpAnswerB);
JLabel lblAnswerC = new JLabel("答案C:");
lblAnswerC.setBounds(60, 205, 40, 25);
pnlTotal.add(lblAnswerC);
final JTextArea txaAnswerC = new JTextArea();
txaAnswerC.setLineWrap(true);
JScrollPane scpAnswerC = new JScrollPane(txaAnswerC);
scpAnswerC.setBounds(100, 205, 420, 25);
pnlTotal.add(scpAnswerC);
JLabel lblAnswerD = new JLabel("答案D:");
lblAnswerD.setBounds(60, 240, 40, 25);
pnlTotal.add(lblAnswerD);
final JTextArea txaAnswerD = new JTextArea();
txaAnswerD.setLineWrap(true);
JScrollPane scpAnswerD = new JScrollPane(txaAnswerD);
scpAnswerD.setBounds(100, 240, 420, 25);
pnlTotal.add(scpAnswerD);
JLabel lblRightAnswer = new JLabel("正确答案:");
lblRightAnswer.setBounds(60, 300, 80, 25);
pnlTotal.add(lblRightAnswer);
final ButtonGroup btgRightAnswer = new ButtonGroup();
final JRadioButton radAnswerA = new JRadioButton(" A");
radAnswerA.setBounds(150, 300, 60, 25);
final JRadioButton radAnswerB = new JRadioButton(" B");
radAnswerB.setBounds(220, 300, 60, 25);
final JRadioButton radAnswerC = new JRadioButton(" C");
radAnswerC.setBounds(290, 300, 60, 25);
final JRadioButton radAnswerD = new JRadioButton(" D");
radAnswerD.setBounds(360, 300, 60, 25);
final JRadioButton radAnswerE = new JRadioButton("E");
radAnswerE.setBounds(430, 300, 60, 25);
radAnswerE.setVisible(false);
btgRightAnswer.add(radAnswerA);
btgRightAnswer.add(radAnswerB);
btgRightAnswer.add(radAnswerC);
btgRightAnswer.add(radAnswerD);
btgRightAnswer.add(radAnswerE);
pnlTotal.add(radAnswerA);
pnlTotal.add(radAnswerB);
pnlTotal.add(radAnswerC);
pnlTotal.add(radAnswerD);
pnlTotal.add(radAnswerE);
JButton btnSave = new JButton("保存");
btnSave.setBounds(180, 350, 60, 25);
pnlTotal.add(btnSave);
JButton btnReset = new JButton("重置");
btnReset.setBounds(300, 350, 60, 25);
pnlTotal.add(btnReset);
cboQueType.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
String str = (String) cboQueType.getSelectedItem();
if (str.equals("判断题")) {
txaAnswerA.setText("正确");
txaAnswerB.setText("错误");
txaQuestion.setText("");
txaAnswerA.setEditable(false);
txaAnswerB.setEditable(false);
txaAnswerB.setVisible(true);
txaAnswerC.setVisible(false);
txaAnswerD.setVisible(false);
radAnswerB.setVisible(true);
radAnswerC.setVisible(false);
radAnswerD.setVisible(false);
radAnswerE.setSelected(true);
} else if (str.equals("选择题")) {
txaAnswerA.setText("");
txaAnswerB.setText("");
txaQuestion.setText("");
txaAnswerA.setEditable(true);
txaAnswerB.setEditable(true);
txaAnswerB.setVisible(true);
txaAnswerC.setVisible(true);
txaAnswerD.setVisible(true);
radAnswerB.setVisible(true);
radAnswerC.setVisible(true);
radAnswerD.setVisible(true);
radAnswerE.setSelected(true);
} else if (str.equals("填空题")) {
txaAnswerA.setText("");
txaQuestion.setText("");
txaAnswerA.setEditable(true);
txaAnswerB.setVisible(false);
txaAnswerC.setVisible(false);
txaAnswerD.setVisible(false);
radAnswerA.setSelected(true);
radAnswerB.setVisible(false);
radAnswerC.setVisible(false);
radAnswerD.setVisible(false);
}
}
});
btnSave.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
String queType = "";
String questionName = "";
String rightAnswer = "";
String answerA = "";
String answerB = "";
String answerC = "";
String answerD = "";
int mark = Integer.parseInt(txtMark.getText());
String courseName = cboCouID.getSelectedItem().toString()
.trim().substring(3);
if (courseName.equals("")) {
JOptionPane.showMessageDialog(null, "请选择试题科目!");
return;
}
queType = (String) cboQueType.getSelectedItem();
questionName = txaQuestion.getText();
if (questionName.equals("")) {
JOptionPane.showMessageDialog(null, "请输入题目!");
txaQuestion.requestFocus();
return;
}
answerA = txaAnswerA.getText().trim();
answerB = txaAnswerB.getText().trim();
answerC = txaAnswerC.getText().trim();
answerD = txaAnswerD.getText().trim();
if (queType.equals("选择题")) {
if (answerA.equals("") || answerB.equals("")
|| answerC.equals("") || answerD.equals("")) {
JOptionPane.showMessageDialog(null, "请输入备选答案");
return;
}
if (answerA.equals(answerB) || answerA.equals(answerC)
|| answerA.equals(answerD)
|| answerB.equals(answerC)
|| answerB.equals(answerD)
|| answerC.equals(answerD)) {
JOptionPane.showMessageDialog(null, "有相同答案!请重新输入!",
"错误", JOptionPane.ERROR_MESSAGE);
return;
}
} else if (queType.equals("填空题")) {
if (answerA.equals("")) {
JOptionPane.showMessageDialog(null, "请输入备选答案");
return;
}
}
if (radAnswerA.isSelected()) {
rightAnswer = answerA;
} else if (radAnswerB.isSelected()) {
rightAnswer = answerB;
} else if (radAnswerC.isSelected()) {
rightAnswer = answerC;
} else if (radAnswerD.isSelected()) {
rightAnswer = answerD;
} else {
JOptionPane.showMessageDialog(null, "请选择正确答案!", "提示",
JOptionPane.INFORMATION_MESSAGE);
return;
}
Course course = new Course();
CourseDao courseDao = new CourseDao();
course = courseDao.selectCourseIDByName(courseName);
int couID = course.getCouID();
String answerAll = "";
if (queType.equals("选择题")) {
answerAll = answerA + "@@" + answerB + "@@" + answerC
+ "@@" + answerD;
} else if (queType.equals("判断题")) {
answerAll = answerA + "@@" + answerB;
} else {
answerAll = answerA;
}
QuestionDao questionDao = new QuestionDao();
Question question = new Question();
question.setCouID(couID);
question.setQueType(queType);
question.setAnswer(answerAll);
question.setQuestion(questionName);
question.setMark(mark);
question.setRightAnswer(rightAnswer);
question.setTeaID(teaID);
int result = 0;
result = questionDao.insertQuestion(question);
if (result == 1) {
JOptionPane.showMessageDialog(null, "保存成功!");
dispose();
} else {
JOptionPane.showMessageDialog(null, "保存失败!");
}
}
});
btnReset.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
cboCouID.setSelectedIndex(0);
cboQueType.setSelectedIndex(0);
txtMark.setText("5");
txaQuestion.setText("");
txaAnswerA.setText("");
txaAnswerB.setText("");
txaAnswerC.setText("");
txaAnswerD.setText("");
radAnswerE.setSelected(true);
}
});
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -