๐ Fearures:-
๐น Task Class โ Represents a to-do item (ID + text) with equality checks (equals & hashCode).
๐น TaskService โ Handles:
๐น Adding tasks with validation (no blank tasks).
๐น Removing tasks by ID.
๐น Returning an unmodifiable list of tasks.
๐น ToDoFrame โ GUI implementation:
๐น Text field + โAddโ button to create tasks.
๐น Task list display in a scrollable area.
๐น โDeleteโ button to remove selected tasks.
๐น Validation messages via JOptionPane.
๐น Main Class โ Initializes TaskService & launches ToDoFrame on the Swing Event Dispatch Thread.
๐ Functional Flow:-
๐น User types task โ clicks โAddโ or presses Enter โ TaskService.add() โ Refresh task list.
๐น User selects a task โ clicks โDeleteโ โ TaskService.removeById() โ Refresh list.
๐น Input validation prevents blank tasks and shows warning popups.
๐ References :-
๐น I used ChatGPT to refine the grammar and structure of the key points explaining my code .
๐น I have take the help of ChatGpt and GeeksforGeeks [https://www.geeksforgeeks.org] to explore the Java Swing .
๐น For Code Review and for exception came in the application I Used ChatGpt.
๐น Additionally, I referred to GeeksforGeeks [https://www.geeksforgeeks.org] for conceptual guidance and coding references to ensure clarity and correctness in my implementation.