Spaces:
Configuration error
Configuration error
File size: 2,432 Bytes
28b5ddf |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.io.*;
import java.util.List;
public class ResultScreen extends JPanel {
private JTextArea resultArea;
public ResultScreen(ClearPassAIGUI controller) {
setLayout(new BorderLayout());
resultArea = new JTextArea();
resultArea.setEditable(false);
JScrollPane scrollPane = new JScrollPane(resultArea);
add(scrollPane, BorderLayout.CENTER);
List<QuestionData> history = controller.getDataModel().getHistory();
int total = controller.getQuestionCount();
String username = controller.getCurrentUser();
if (history.isEmpty()) {
resultArea.setText("No responses recorded.");
} else {
StringBuilder sb = new StringBuilder();
sb.append("Summary: You answered ").append(history.size()).append(" out of ").append(total)
.append(" questions.\n\n");
for (int i = 0; i < history.size(); i++) {
QuestionData q = history.get(i);
sb.append("Q").append(i + 1).append(": ").append(q.getQuestion()).append("\n");
sb.append("Your Answer: ").append(q.getAnswer()).append("\n");
sb.append("AI Feedback: ").append(q.getFeedback()).append("\n\n");
}
resultArea.setText(sb.toString());
}
JButton backBtn = new JButton("Back to Welcome");
backBtn.addActionListener(e -> controller.showScreen("Welcome"));
JButton saveBtn = new JButton("Save Result");
saveBtn.addActionListener(
(ActionEvent e) -> saveResultToFile(controller.getCurrentUser(), resultArea.getText()));
JPanel bottomPanel = new JPanel(new FlowLayout());
bottomPanel.add(backBtn);
bottomPanel.add(saveBtn);
add(bottomPanel, BorderLayout.SOUTH);
}
private void saveResultToFile(String username, String content) {
String filename = username + "_result.txt";
try (BufferedWriter writer = new BufferedWriter(new FileWriter(filename))) {
writer.write(content);
JOptionPane.showMessageDialog(this, "Result saved to " + filename);
} catch (IOException e) {
JOptionPane.showMessageDialog(this, "Failed to save result.", "Error", JOptionPane.ERROR_MESSAGE);
e.printStackTrace();
}
}
} |