In this project you will construct a Java Swing GUI that uses event handlers, listeners and incorporates Javas concurrency functionality and the use of threads. The following book may be useful to help you become comfortable with Thread processes.
https://learning.oreilly.com/library/view/java7concurrency/9781849687881/index.html
You should focus on the first 4 chapters.
If you have previously signed up for the Safari account you dont need to sign-up again. Just use this link: https://learning.oreilly.com/accounts/login/?next=/library/view/temporaryaccess/
If you have not previously requested a Safari account follow the details on this page to sign-up for your Safari Account: https://libguides.umuc.edu/safari
Youll need to sign in using your UMGC student email account. Once you sign in, youll have immediate access to the content, and youll shortly receive an e-mail from Safari prompting you to set up a password and complete your account creation (recommended).
Students: Your UMUC e-mail account is your username + @student.umuc.edu (example: [email protected]).
In addition, a zip file is included that includes several Oracle Java files that use different types of Swing components as well as threads. I recommend going through the reading and the examples to become familiar before attempting the final project.
Assignment Details
As a new engineer for a traffic congestion mitigation company, you have been tasked with developing a Java Swing GUI that displays time, traffic signals and other information for traffic analysts. The final GUI design is up to you but should include viewing ports/panels to display the following components of the simulation:
- Current time stamps in 1 second intervals
- Real-time Traffic light display for three major intersections
- X, Y positions and speed of up to 3 cars as they traverse each of the 3 intersections
Some of the details of the simulation are up to you but the following guidelines will set the guardrails:
- The components listed above should run in separate threads.
- Loop through the simulation with button(s) providing the ability to start, pause, stop and continue the simulation.
- You will need to use basic distance formulas such as distance = Speed * time. Be sure to be consistent and define your units of measure (e.g. mile/hour, versus km/hour)
- Assume a straight distance between each traffic light of 1000 meters.
- Since you are traveling a straight line, you can assume Y = 0 for your X,Y positions.
- Provide the ability to add more cars and intersections to the simulation through the GUI.
- Dont worry about physics. Assume cars will stop on a dime for red lights, and continue through yellow lights and green lights.
Document all assumptions and limitations of your simulation
Reviews
There are no reviews yet.