Highlights
Introduction
Your task is to turn the Java Clock from Week 9 into a multi-alarm clock. More specifically:
1. Add a menu bar and menu or menus to control the other additional features specified below.
The design of the menu system — how many menus and what the exact items are — is up to you. The “Clock Exercises” in Week 9 had more detailed instructions on how to do this and would make a good starting point.
2. Add a Priority Queue of Alarm objects, so that the “next” one is the next one. You will need to figure out how to incorporate this functionality into the Model-View-Controller architecture. Where does it belong? You will need to design and build an Alarm class for storing alarm data and with whatever functionality is required.
3. Add a dialogue box for setting and editing an alarm.
Java Swing has components for dialogue boxes. You will need to research this and work out how to adapt these to your needs. You might want to just use text inputs for the hours, minutes and seconds, or perhaps JSpinner widgets. You need to decide what you think is the best solution taking into account what is best for the user and what you can actually implement. You will need to add some user interface controls to the main window to trigger this activity: buttons, menu items… it’s up to you. For editing existing alarms, you will need an additional dialogue box for allowing the user to select an alarm to edit from the list (queue) of alarms already set.
4. When an alarm “goes off”, the application must display a popup box and then remove the alarm from the queue.
If you want to make the main clock flash, or make a sound, that’s fine, look it up, but the requirement is just to produce a popup. Similarly, if you can figure out how to have the popup grab focus from other applications, that would be great, but it is again beyond the scope of this assignment.
5. Add a feature that allows the user to save the alarms on disk in (a subset of) iCalendar format and read them back in when the program restarts. This will obviously need some user interface triggers: buttons, menu items… your choice.
Task 1 — Coding
Starting from the original “Clock3” version of the Java Clock (available from GitHub at https://github.com/mo04gw/Clock - not yet), add the features listed above. Pay attention to the structure of your code, so that it still follows the Model-View-Controller architecture. Add extra classes as necessary. There are more detailed instructions for some of these tasks in the “Clock Exercises” from Week 9.
For the priority queue of alarms, you should import the priority queue library from Assignment 1 into your NetBeans project. (That’s a better way of working than just copying in the code. It doesn’t matter if you did well or badly on Assignment 1 because you can use the starting version, since it has a working implementation of the Sorted Array Priority Queue. Since the imported library is not really part of this project, it should not be under Git version control as part of this project. Does NetBeans know how to do that? Read the documentation and find out. If necessary, edit the .gitignore file to tell Git to ignore the library.
This Computer Science Assessment has been solved by our Computer Science experts at My Uni Paper. Our Assignment Writing Experts are efficient to provide a fresh solution to this question. We are serving more than 10000+ Students in Australia, UK & US by helping them to score HD in their academics. Our Experts are well trained to follow all marking rubrics & referencing style.
Be it a used or new solution, the quality of the work submitted by our assignment experts remains unhampered. You may continue to expect the same or even better quality with the used and new assignment solution files respectively. There’s one thing to be noticed that you could choose one between the two and acquire an HD either way. You could choose a new assignment solution file to get yourself an exclusive, plagiarism (with free Turnitin file), expert quality assignment or order an old solution file that was considered worthy of the highest distinction
© Copyright 2026 My Uni Papers – Student Hustle Made Hassle Free. All rights reserved.