For this lab, you will implement a simple To Do List application. The program must include a GUI that looks like this: ToDos must provide the following features: Adding items:

For this lab, you will implement a simple To Do List application. The program must include a GUI that looks like this: ToDos must provide the following features: Adding items: To add a new item: Click the "New Item" button, at which point all of the input fields clear Enter the following fields: Item - Required field - Cannot be blank - Must be unique -- there must not exist another item with this name Priority - Required field - Cannot be blank - Must be an integer > 0 - Items with a lower priority value have a higher priority. For example, an item with priority 1 has higher priority than an item with priority 5. Deadline - If checked, this item has a deadline, and the Month, Day, and Year drop-downs are enabled. If not checked, these drop-downs are disabled. - The Year drop-down shows years for the next 10 years (2022-2031) - The Day drop-down must always show the correct options based on the month and year selected. For example, if "January," it must show 1-31 days. If "June", it must show 1-30 days. If "February" in a leap year, it must show 1-29 days. If "February" in a non-leap year, it must show 1-28 days. Notes - Optional field, can be left blank - Scrollable text area Click the "Save Item" button - If any of the input is invalid, a warning dialog pops up, stating, "Invalid input!" - If all input is valid, a dialog pops up, stating, "Item saved!" The new item then appears in the list on the left, and it is selected. View item: To view an existing item, click on the name in the list, and that item's info will show up on the right. Edit item: To edit an existing item: - Select the item in the list - Edit any info in the field on the right - Click the "Save Item" button If any of the input is invalid, a warning dialog pops up, stating, "Invalid input!" - Take care of the case in which the user attempts to change an existing item's name to one that already exists in the list. This should not be allowed. - If all input is valid, a dialog pops up, stating, "Item saved!" Delete item: To delete an item: - Select the item in the list - Click the "Delete" button Toggle done: To mark an item as "done", click this button. It will cause the item to appear with strikethrough text in the list. Click the button again and it will mark the item as not done, and cause the strikethrough to disappear. Program exit: The program must exit through the "Exit" menu item in the "File" menu in the menu bar. Other Requirements/Details - The order in which ToDo items appear in list is determined based on the following: - It is first ordered by done/not done (all not done items come before all done items) - Then by priority (lower priority value comes before higher priority value) - Then by name lexicographically

For this lab, you will implement a simple To Do List application. The program must include a GUI that looks like this: ToDos must provide the following features: Adding items: To add a new item: Click the “New Item” button, at which point all of the input fields clear Enter the following fields: Item – Required field – Cannot be blank – Must be unique — there must not exist another item with this name Priority – Required field – Cannot be blank – Must be an integer > 0 – Items with a lower prio

Read More