Java Program/Application
Program Overview
Create object-oriented program of medium complexity. It shouldbe a GUI program that uses principles, best practices andtechnologies. Certain elements are a required part of the program,for example it must implement a GUI of reasonable complexity, use adynamic data structure like ArrayList, and use file input and/oroutput (further details below in"General Requirements"). The rest is personal choice.You can choose your own idea for their application . For the GUIportion of the program, you will use the JavaFX platform. You candesign the GUI graphically with Scene Builder or implement itdynamically in code. This choice, along with other detailed plans,must be clearly stated in the program proposal.Above all the program/application should be interesting and fun, sotry to choose an idea that you find interesting or potentiallyuseful. If you feel the program may be too big then it is possibleto simplify certain portions or leave parts for futureimplementation. For example, a GUI button could display a message"Not yet implemented".
Program Application Proposal
1. Overview. A few Sentences to describethe purpose of the application,the development environment (Visual studio code, JDK17, etc.) andthetechnologies used (JavaFX, SceneBuilder, file I/O, collections,graphics etc.) The description must make clear how you will beincorporating the requiredelements:a)File I/O - What information will you save to files ondisk, and/or what information will you load from files? Detailed file formatinformation is not required.b)Dynamic array - What information will be stored in adynamic data structure? How will it be managed?
2. User Interface. Provide one drawing forevery window (stage/activity/dialog)you envision to be part of the program. It can be drawn on paper,drawn usingVisio, or designed in Scene Builder and provide a screenshot.
3. Class Structure. Use UML class diagram(s)to present the rough classdesign you envision for the application/program. It should includeall significant classesand their relationships (arrows). Fields and methods are notrequired to belisted. Diagrams can be done on paper, or with a UML drawing toollikeStarUML or Visio (UML Model Diagram template). It must be clearwhich classesare GUI classes and which classes are non-GUI (data management)classes. ForJavaFX all controller classes should have names ending with"Controller".All JavaFX plans will have:- FXML files for the GUI layout (one file per window)- Controller classes for the GUI event handlers (one perwindow)- Data management classes (typically two or more)When designing a larger application/program such as this: avoidputting datamanagement code in the controller (GUI) classes.
Program Application Requirements:1. GUI Portion: It willconsist of at least 2 GUI windows or dialogs. In JavaFX this meansat least 2 stages,where each stage has its own separate FXML file and controllerclass. Errormessages or simple confirmation dialogs don't count.2. Non-GUI Portion: Minimum three classes -so minimum twoback-end (data management) classes, not counting GUI classes orcontrollerclasses.3. File I/O: Either file input, output, orboth. For example, a program thatmanages information about customers of a business could storethecustomer information in a file and then re-load the file next timeyour runthe program.
4. Data structures: ArrayList (dynamicarray) For example a multi-player gamecould use an ArrayList of Player objects to store information aboutall theplayers. Often (but not always) you may use a dynamic datastructure likeArrayList to store information you read from a file. Don't useregular Javaarrays.
5. Exception Handling: Should containenoughexception handling and error recovery so that bad user input (orbad inputfiles etc.) don't crash the program. You should display auser-friendly errormessage instead.
6. Commenting: The code shall be commentedas follows.a. Each Java class shall have a headercomment which lists the principalauthor(s) of the code and briefly describes what the code in thefile isforb. Each method and field shall be commented.For methods include thepurpose of method and a brief description of each parameter.Forfields give the purpose of the field and units if applicable (e.g.lengthin meters, price in dollars).c. Code inside methods shall be commented asneeded (e.g. tricky steps)using non-Javadoc style comments.d. FXML files do not need to becommented.
Java Program/Application Program Overview Create object-oriented program of medium complexity. It should be a GUI progra
-
- Site Admin
- Posts: 899603
- Joined: Mon Aug 02, 2021 8:13 am