📄 questioneditorpanel.java
字号:
jLabel2.setFont(new java.awt.Font("Tahoma", 0, 11)); jLabel2.setText("Number of Answers"); add(jLabel2); jLabel2.setBounds(270, 280, 110, 14); }//GEN-END:initComponents private void AnswerTextFieldFKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_AnswerTextFieldFKeyReleased currentQuestion.setAnswerF(AnswerTextFieldF.getText()); }//GEN-LAST:event_AnswerTextFieldFKeyReleased private void AnswerTextFieldEKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_AnswerTextFieldEKeyReleased currentQuestion.setAnswerE(AnswerTextFieldE.getText()); }//GEN-LAST:event_AnswerTextFieldEKeyReleased private void NumOfAnswersComboBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_NumOfAnswersComboBoxActionPerformed Integer I = (Integer) NumOfAnswersComboBox.getSelectedItem(); int i = I.intValue(); currentQuestion.setNumOfAnswers(i); int j; AnswerTextFieldA.setEnabled(true); AnswerTextFieldB.setEnabled(true); AnswerTextFieldC.setEnabled(true); AnswerTextFieldD.setEnabled(true); AnswerTextFieldE.setEnabled(true); AnswerTextFieldF.setEnabled(true); if (NumOfAnswersComboBox.getSelectedIndex() <= 0) { AnswerTextFieldC.setEnabled(false); AnswerTextFieldC.setText(""); } if (NumOfAnswersComboBox.getSelectedIndex() <= 1) { AnswerTextFieldD.setEnabled(false); AnswerTextFieldD.setText(""); } if (NumOfAnswersComboBox.getSelectedIndex() <= 2) { AnswerTextFieldE.setEnabled(false); AnswerTextFieldE.setText(""); } if (NumOfAnswersComboBox.getSelectedIndex() <= 3) { AnswerTextFieldF.setEnabled(false); AnswerTextFieldF.setText(""); } }//GEN-LAST:event_NumOfAnswersComboBoxActionPerformed private void AnswerTextFieldDKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_AnswerTextFieldDKeyReleased currentQuestion.setAnswerD(AnswerTextFieldD.getText()); }//GEN-LAST:event_AnswerTextFieldDKeyReleased private void AnswerTextFieldCKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_AnswerTextFieldCKeyReleased currentQuestion.setAnswerC(AnswerTextFieldC.getText()); }//GEN-LAST:event_AnswerTextFieldCKeyReleased private void QuestionTimeoutComboBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_QuestionTimeoutComboBoxActionPerformed Integer I = (Integer) QuestionTimeoutComboBox.getSelectedItem(); currentQuestion.setTimeout(I.intValue()); }//GEN-LAST:event_QuestionTimeoutComboBoxActionPerformed private void AnswerTextFieldBKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_AnswerTextFieldBKeyReleased currentQuestion.setAnswerB(AnswerTextFieldB.getText()); }//GEN-LAST:event_AnswerTextFieldBKeyReleased private void AnswerTextFieldAKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_AnswerTextFieldAKeyReleased currentQuestion.setAnswerA(AnswerTextFieldA.getText()); }//GEN-LAST:event_AnswerTextFieldAKeyReleased private void QuestionTextAreaKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_QuestionTextAreaKeyReleased String s = QuestionTextArea.getText(); char c; if (s.length() == 0) c = 'q'; else c = s.charAt(s.length() -1); if (c == '\t') { QuestionTextArea.setText(s.substring(0, s.length() -1)); QuestionTextArea.transferFocus(); } currentQuestion.setQuestion(QuestionTextArea.getText()); }//GEN-LAST:event_QuestionTextAreaKeyReleased private void QuestionComboBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_QuestionComboBoxActionPerformed if (QuestionComboBox.getItemCount() < 1) return; currentQuestion = QuestionVector.getQuestionAt(QuestionComboBox.getSelectedIndex()); restoreQuestion(QuestionComboBox.getSelectedIndex()); adjustNavigationControls(); }//GEN-LAST:event_QuestionComboBoxActionPerformed private void DeleteQuestionButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_DeleteQuestionButtonActionPerformed if (QuestionVector.size() == 1) return; int indx = QuestionComboBox.getSelectedIndex(); QuestionVector.deleteQuestionAt(indx); if (indx <= QuestionComboBox.getItemCount() - 1) currentQuestion = QuestionVector.getQuestionAt(indx); else currentQuestion = QuestionVector.getQuestionAt(indx - 1); }//GEN-LAST:event_DeleteQuestionButtonActionPerformed private void NewQuestionButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_NewQuestionButtonActionPerformed newQuestion(); }//GEN-LAST:event_NewQuestionButtonActionPerformed private void NextQuestionButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_NextQuestionButtonActionPerformed int indx = QuestionComboBox.getSelectedIndex(); if (indx < QuestionVector.size() - 1) QuestionComboBox.setSelectedIndex(indx + 1); }//GEN-LAST:event_NextQuestionButtonActionPerformed private void PreviousQuestionButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_PreviousQuestionButtonActionPerformed int indx = QuestionComboBox.getSelectedIndex(); if (indx > 0) QuestionComboBox.setSelectedIndex(indx - 1); // if (indx > 0) changeQuestion(indx, indx - 1); }//GEN-LAST:event_PreviousQuestionButtonActionPerformed private void adjustNavigationControls() { if (!Enabled) return; int indx = QuestionComboBox.getSelectedIndex(); if (indx < 1) PreviousQuestionButton.setEnabled(false); else PreviousQuestionButton.setEnabled(true); if (indx + 1> QuestionVector.size() - 1) NextQuestionButton.setEnabled(false); else NextQuestionButton.setEnabled(true); } public Question getQuestion() { int i = QuestionComboBox.getSelectedIndex(); return QuestionVector.getQuestionAt(i); } public void setEnabled(boolean b) { Enabled = b; QuestionComboBox.setEnabled(b); QuestionTextArea.setEnabled(b); AnswerTextFieldA.setEnabled(b); AnswerTextFieldB.setEnabled(b); AnswerTextFieldC.setEnabled(b); AnswerTextFieldD.setEnabled(b); AnswerTextFieldE.setEnabled(b); AnswerTextFieldF.setEnabled(b); QuestionTimeoutComboBox.setEnabled(b); NumOfAnswersComboBox.setEnabled(b); NewQuestionButton.setEnabled(b); DeleteQuestionButton.setEnabled(b); if (b == false) { NextQuestionButton.setEnabled(b); PreviousQuestionButton.setEnabled(b); } else { adjustNavigationControls(); } super.setEnabled(b); } private void newQuestion() { if (QuestionVector == null) return; Integer I = (Integer) NumOfAnswersComboBox.getSelectedItem(); int i = I.intValue(); Question q = new Question("", currentQuestion.getAnswerA(), currentQuestion.getAnswerB(), currentQuestion.getAnswerC(), currentQuestion.getAnswerD(), currentQuestion.getAnswerE(), currentQuestion.getAnswerF(), currentQuestion.getTimeout(), QuestionVector.size() + 1, currentQuestion.getNumOfAnswers()); q.setNumOfAnswers(i); QuestionVector.addQuestion(q); QuestionComboBox.setSelectedIndex(QuestionComboBox.getItemCount() - 1); currentQuestion = QuestionVector.getQuestionAt(QuestionComboBox.getSelectedIndex()); } public void nextQuestion() { int i = QuestionComboBox.getSelectedIndex(); if (i < QuestionVector.size() - 1) QuestionComboBox.setSelectedIndex(i + 1); else newQuestion(); adjustNavigationControls(); } public void syncComboBoxes() { Vector v = QuestionVector.getQuestionListing(); if (v.size() < 1) return; Question q; int i; int indx = QuestionComboBox.getSelectedIndex(); lastQuestionComboBoxIndex = -1; if (indx == v.size()) indx--; if (indx < 0) indx = 0; QuestionComboBox.removeAllItems(); for (i = 0; i < QuestionVector.size(); i++) { QuestionComboBox.addItem(v.elementAt(i)); } if (indx >= QuestionVector.size()) indx = 0; QuestionComboBox.setSelectedIndex(indx); adjustNavigationControls(); } private void restoreQuestion(int indx) { Question q; Integer I; q = QuestionVector.getQuestionAt(indx); QuestionTextArea.setText(q.getQuestion()); AnswerTextFieldA.setText(q.getAnswerA()); AnswerTextFieldB.setText(q.getAnswerB()); AnswerTextFieldC.setText(q.getAnswerC()); AnswerTextFieldD.setText(q.getAnswerD()); AnswerTextFieldE.setText(q.getAnswerE()); AnswerTextFieldF.setText(q.getAnswerF()); QuestionTimeoutComboBox.setSelectedItem(new Integer(q.getTimeout())); NumOfAnswersComboBox.setSelectedItem(new Integer(q.getNumOfAnswers())); lastQuestionComboBoxIndex = indx; QuestionComboBox.setSelectedIndex(indx); } public void setJPQuestionVector(JPQuestionVector qv) { QuestionVector = qv; QuestionVector.addListener(this); if (QuestionComboBox.getItemCount() == 0) { QuestionVector.newQuestion(); syncComboBoxes(); currentQuestion = QuestionVector.getQuestionAt(0); } adjustNavigationControls(); } public int getQuestionIndex() { return QuestionComboBox.getSelectedIndex(); } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JTextField AnswerTextFieldA; private javax.swing.JTextField AnswerTextFieldB; private javax.swing.JTextField AnswerTextFieldC; private javax.swing.JTextField AnswerTextFieldD; private javax.swing.JTextField AnswerTextFieldE; private javax.swing.JTextField AnswerTextFieldF; private javax.swing.JButton DeleteQuestionButton; private javax.swing.JButton NewQuestionButton; private javax.swing.JButton NextQuestionButton; private javax.swing.JComboBox NumOfAnswersComboBox; private javax.swing.JButton PreviousQuestionButton; private javax.swing.JComboBox QuestionComboBox; private javax.swing.JTextArea QuestionTextArea; private javax.swing.JComboBox QuestionTimeoutComboBox; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; private javax.swing.JLabel jLabel5; private javax.swing.JLabel jLabel6; private javax.swing.JLabel jLabel7; private javax.swing.JLabel jLabel8; private javax.swing.JLabel jLabel9; // End of variables declaration//GEN-END:variables private JPQuestionVector QuestionVector; private int lastQuestionComboBoxIndex = 0; private boolean Enabled = true; private Question currentQuestion;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -