Implement threads and a gui interface using advanced java

Assignment Help JAVA Programming
Reference no: EM131565546

Project 3

Introduction - the SeaPort Project series

For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:
• SeaPortProgram extends JFrame
o variables used by the GUI interface
o world: World
• Thing implement Comparable <Thing>
o index: int
o name: String
o parent: int
• World extends Thing
o ports: ArrayList <SeaPort>
o time: PortTime
• SeaPort extends Thing
o docks: ArrayList <Dock>
o que: ArrayList <Ship> // the list of ships waiting to dock
o ships: ArrayList <Ship> // a list of all the ships at this port
o persons: ArrayList <Person> // people with skills at this port
• Dock extends Thing
o ship: Ship
• Ship extends Thing
o arrivalTime, dockTime: PortTime
o draft, length, weight, width: double
o jobs: ArrayList <Job>
• PassengerShip extends Ship
o numberOfOccupiedRooms: int
o numberOfPassengers: int
o numberOfRooms: int
• CargoShip extends Ship
o cargoValue: double
o cargoVolume: double
o cargoWeight: double
• Person extends Thing
o skill: String
• Job extends Thing - optional till Projects 3 and 4
o duration: double
o requirements: ArrayList <String>
// should be some of the skills of the persons
• PortTime
o time: int

Eventually, in Projects 3 and 4, you will be asked to show the progress of the jobs using JProgressBar's.

Here's a very quick overview of all projects:

1. Read a data file, create the internal data structure, create a GUI to display the structure, and let the user search the structure.
2. Sort the structure, use hash maps to create the structure more efficiently.
3. Create a thread for each job, cannot run until a ship has a dock, create a GUI to show the progress of each job.
4. Simulate competing for resources (persons with particular skills) for each job.

Project 3 General Objectives

Project 3 - More JDK classes - GUI's and threads

• Explore other GUI classes, such as JTree, JTable, and JProgressBar.
• Create and run threads
o Competing for one resource.

Documentation Requirements:

You should start working on a documentation file before you do anything else with these projects, and fill in items as you go along. Leaving the documentation until the project is finished is not a good idea for any number of reasons.

The documentation should include the following (graded) elements:

• Cover page (including name, date, project, your class information)
• Design
o including a UML class diagram
o classes, variables and methods: what they mean and why they are there
o tied to the requirements of the project
• User's Guide
o how would a user start and run your project
o any special features
o effective screen shots are welcome, but don't overdo this
• Test Plan
o do this BEFORE you code anything
o what do you EXPECT the project to do
o justification for various data files, for example
• Lessons Learned
o express yourself here
o a way to keep good memories of successes after hard work

Project 3 Specific Goals:

Implement threads and a GUI interface using advanced Java Swing classes.

1. Required data structure specified in Project 1:
1. World has SeaPort's
2. SeaPort has Dock's, Ship's, and Person's
3. Dock has a Ship
4. Ship has Job's
5. PassengerShip
6. CargoShip
7. Person has a skill
8. Job requires skills- NEW CLASS for this project!
9. PortTime
2. Extend Project 2 to use the Swing class JTree effectively to display the contents of the data file.
o (Optional) Implement a JTable to also show the contents of the data file. There are lots of options here for extending your program.
3. Threads:
o Implement a thread for each job representing a task that ship requires.
o Use the synchronize directive to avoid race conditions and insure that a dock is performing the jobs for only one ship at a time.
- the jobs of a ship in the queue should not be progressing
- when all the jobs for a ship are done, the ship should leave the dock, allowing a ship from the que to dock
- once the ship is docked, the ships jobs should all progress
- in Project 4, the jobs will also require persons with appropriate skills.
o The thread for each job should be started as the job is read in from the data file.
o Use delays to simulate the progress of each job.
o Use a JProgressBar for each job to display the progress of that job.
o Use JButton's on the Job panel to allow the job to be suspended or cancelled.
4. As before, the GUI elements should be distinct (as appropriate) from the other classes in the program.
5. See the code at the end of this posting for some suggestions.

Suggestions for Project 3 Job class. Here is a sample of code for a Job class in another context, the Sorcerer's Cave project. The code for this class will need some modifications, but this should give you an idea of the issues involved.

Attachment:- SeaPortProgram.zip

Reference no: EM131565546

Questions Cloud

Find the velocity v of a falling brick in terms of the time : When we consider the resisting force of the air, the velocity v (in ft/s ) of a falling brick in terms of the time (in s) is given by dv/(32 - 0.5v) = dt.
Simple java programming tests : The java coding that accepts a distance it kilometers, sends it to a method which converts it to miles, and then displays the result
Calculate the voltages across the three series resistances : Using circuit reduction techniques on the above circuit. Calculate the voltages across the three 'series' resistances. Calculate the circuit's total resistance
Discuss about the several types of communication : There are several types of communication, including formal and informal types of communication.
Implement threads and a gui interface using advanced java : Implement threads and a GUI interface using advanced Java Swing classes - Implement a thread for each job representing a task that ship requires
The center for medicare and medicaid services : We are challenged to reduce 30 day hospital readmissions across the state of Ohio for all lines of business.
Provide documentation to support meeting between git and fwa : Your task, in Paper 2, is to provide preparation documentation to support face-to-face meetings between GIT and the FWA.
Discuss about the development of policies : Data management is the development of policies, practices, and procedures in order to manage and maintain the needs of a corporation.
Design a flowchart or pseudocode : Design a flowchart or pseudocode - The Barking Lot is a dog day care center Creating a puesdocode for given example

Reviews

Write a Review

JAVA Programming Questions & Answers

  Recursive factorial program

Write a class Array that encapsulates an array and provides bounds-checked access. Create a recursive factorial program that prompts the user for an integer N and writes out a series of equations representing the calculation of N!.

  Hunt the wumpus game

Reprot on Hunt the Wumpus Game has Source Code listing, screen captures and UML design here and also, may include Javadoc source here.

  Create a gui interface

Create GUI Interface in java programing with these function: Sort by last name and print all employees info, Sort by job title and print all employees info, Sort by weekly salary and print all employees info, search by job title and print that emp..

  Plot pois on a graph

Write a JAVA program that would get the locations of all the POIs from the file and plot them on a map.

  Write a university grading system in java

University grading system maintains number of tables to store, retrieve and manipulate student marks. Write a JAVA program that would simulate a number of cars.

  Wolves and sheep: design a game

This project is designed a game in java. you choose whether you'd like to write a wolf or a sheep agent. Then, you are assigned to either a "sheep" or a "wolf" team.

  Build a graphical user interface for displaying the image

Build a graphical user interface for displaying the image groups (= cluster) in JMJRST. Design and implement using a Swing interface.

  Determine the day of the week for new year''s day

This assignment contains a java project. Project evaluates the day of the week for New Year's Day.

  Write a java windowed application

Write a Java windowed application to do online quiz on general knowledge and the application also displays the quiz result.

  Input pairs of natural numbers

Java program to input pairs of natural numbers.

  Create classes implement java interface

Interface that contains a generic type. Create two classes that implement this interface.

  Java class, array, link list , generic class

These 14 questions covers java class, Array, link list , generic class.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd