JDDDD2
JDDDD2
Issues:
Fixed Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.*;
class StudentDAO {
private Map<String, String> students = new HashMap<>();
class GradeDAO {
private Map<String, List<String>> grades = new HashMap<>();
public GradingSystemGUI() {
frame = new JFrame("Grading System");
frame.setSize(700, 500);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new BorderLayout());
// Student Panel
JPanel studentPanel = new JPanel(new FlowLayout());
studentIdField = new JTextField(10);
nameField = new JTextField(10);
sectionField = new JTextField(10);
JButton addStudentBtn = new JButton("Add Student");
// Grade Panel
JPanel gradePanel = new JPanel(new FlowLayout());
subjectField = new JTextField(10);
gradeField = new JTextField(5);
JButton addGradeBtn = new JButton("Add Grade");
gradePanel.add(new JLabel("Subject:"));
gradePanel.add(subjectField);
gradePanel.add(new JLabel("Grade:"));
gradePanel.add(gradeField);
gradePanel.add(addGradeBtn);
// Search Panel
JPanel searchPanel = new JPanel(new FlowLayout());
searchField = new JTextField(20);
JButton searchBtn = new JButton("Search");
resultArea = new JTextArea(15, 50);
resultArea.setEditable(false);
searchPanel.add(new JLabel("Search:"));
searchPanel.add(searchField);
searchPanel.add(searchBtn);
// Action Listeners
addStudentBtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String id = studentIdField.getText().trim();
String name = nameField.getText().trim();
String section = sectionField.getText().trim();
addGradeBtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
String id = studentIdField.getText().trim();
String subject = subjectField.getText().trim();
double grade =
Double.parseDouble(gradeField.getText().trim());
if (id.isEmpty() || subject.isEmpty()) {
JOptionPane.showMessageDialog(frame, "Student ID and
Subject are required!", "Error", JOptionPane.ERROR_MESSAGE);
return;
}
searchBtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
resultArea.setText("");
String query = searchField.getText().trim();
List<String> students = studentDAO.searchStudent(query);
List<String> grades = gradeDAO.getGrades(query);
frame.setVisible(true);
}
This should now work correctly. Let me know if you need modifications!