@Override public void actionPerformed(ActionEvent arg) { String mes = ""; int it = 1; // for all of the answers of the challenger check if its true or false // add points if he answered good // add the good answers if not // and show it in a dialogBox. for (AnswerUI ans : QuestionnaireUI.this.answers) { if (ans.getAnswer().checkAnswer(ans.getValue())) QuestionnaireUI.this.points += ans.getQuestion().getPoints(); else mes += "Q" + it + " : Wrong the correct answer was : " + ans.getAnswer().getCorrectAnswer() + "\n"; it++; } mes += "\nYou have won " + QuestionnaireUI.this.points + " points"; JOptionPane.showMessageDialog(frame, mes); }
/** * Instantiates a new questionnaireUI. * * @param q the questionnaire */ public QuestionnaireUI(Questionnaire q) { this.answers = new ArrayList<AnswerUI>(); this.frame = new JFrame("Questionnaire"); this.frame.setLayout(new GridLayout(q.getNumberOfQuestions() + 1, 2)); // add all the Answers to a List for (Question quest : q.getQuestions()) { this.answers.add(quest.getAnswer().getUI(quest)); } // use that List to create the frame for (AnswerUI ans : this.answers) { this.frame.add(new JLabel(ans.getQuestion().getQuestion())); this.frame.add(ans.getPanel()); } this.submit = new JButton("submit"); this.submit.addActionListener(new SubmitAnswers()); this.frame.add(this.submit); this.frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.frame.pack(); this.frame.setVisible(true); }