Creating a GUI, programming homework help

Creating a GUI, programming homework help

CISC 190: Final Project

The final project is designed to give you a chance to show off your creativity while using what you have learned about Java. It is a large open-ended project with a requirements list.

For the final project, you may choose to work by yourself or with a partner.

Instructions:

Create a Java application that meets the following requirements. Your project can do anything you want it to do (but plan to do something that is reasonable for your level of programming experience).

There are two paths to choose for the final project:

  1. A project that involves creating your own GUI.
  2. A project that does not have a GUI.

Both final project paths have a core set of requirements that everyone must meet. Then, there are additional requirements to earn the rest of the “requirements met” points for the project; you can choose to earn these points through GUI creation or through the non-GUI options.

When working on the final project, you must use the NetBeans IDE. More handouts with help getting started using NetBeans are available. Dr. Java is a great IDE for learning how to program, but it is not nearly as powerful as IDEs like NetBeans or Eclipse. NetBeans and Eclipse are both used in the “real world” – knowing at least one of them is helpful when applying for a job.

Your NetBeans project should be named FinalProject_YourName. It is up to you to determine appropriate names for the file(s) in each project.

Caution! NetBeans (and other IDEs) have tools designed to help with GUI layout and design. For the final project, you are NOT allowed to count the use of these tools or the automatically generated code that these tools create toward your final project requirements.

You must write all of the code for your project; although you may look online for ideas, if any code you submit is found online, you will receive an academic sanction and a 0 on the project. (Note: If your project is sufficiently advanced, you may request special approval to use another person’s code to assist with some small aspect of your project. However, all code not written by you MUST be clearly and appropriately cited, and cannot count toward the requirements below. Approval to use another person’s code must be given prior to actually using it.)

Comments and Style:

Your code should be appropriately commented. Comments at the top of each file should include the names and e-mail addresses of all project partners and a description of the contents of the file. Comments within the file should explain what each portion of the code does, and should also indicate which requirement(s) that portion of code meets. Note that each class and each method should have a comment explaining the purpose of that class or method. Comments within classes and methods are also a good idea! Do not wait until you are finished with your project to write comments – write them as you write the code!

Name your variables appropriately. Variables with descriptive names will help reduce the number of comments your code requires.

Make sure that you use appropriate indentation. NetBeans can assist you with this by using Source->Format.

Grading:

Note: Final code submitted with compiler errors will be graded as follows. Any lines with a compiler error will be commented out. This process will be repeated until there are no longer any lines with compiler errors. Any remaining functional code can earn full credit; any code that is commented out can only earn partial credit, if any.

35 points

Code meets requirements listed below

5 points

Requirements file correctly explains how the code meets the requirements

10 points

Code is appropriately commented and uses good style, as described above

15 points

Intermediate deadlines are met (5 points for each deadline in weeks 1-3)

15 points

Presentation

20 points

Reflective Questions

100 points

Total points

Minimum Requirements:

To earn full credit, your program must meet enough of the following requirements to earn 35 points. Note that these are only minimum requirements – you may use other components, graphics, etc. in your program.

You must also demonstrate that you understand how your code meets these requirements by documenting how the requirements are met in a requirements file. A sample requirements file with blank lines for you to fill in is available on Blackboard. Name your requirements file FinalProjectRequirements_YourName_PartnerName.txt.

You must do all of these to earn the first 20 points:

  1. 1) (4 pts: 2 pts per class) Write and use at least 2 classes (you can count a driver class as one of these classes).
  2. 2) (2 pts) Write and use at least 2 constructors; only one constructor can be no-arg.
  3. 3) (2 pts) Write appropriate getters and setters for your private instance variables (you must have at least one getter and at least one setter).
  4. 4) (3 pts) Use a decision (e.g. if-else).
  5. 5) (3 pts) Use a loop (e.g. for, while).
  6. 6) (2 pts) Write and use a method, other than a getter, that returns a value.
  7. 7) (2 pts) Write and use a method, other than a setter, that has two or more parameters.
  8. 8) (2 pts) Ensure your program does not have any run-time errors. You should not assume a nice user. You may need to implement exception handling to meet this requirement (which counts toward the extra requirements category below).

You may choose any of these to earn the remaining 15 points:
9) (2 pts) Use an array.
10) (2 pts) Overload at least one method that is not a constructor.
11) (3 pts) Perform file I/O. You choose whether to read and/or write a file. You choose

whether to use a text file or a binary file (you’ll need to look up examples for binary file I/O, as no reading on it will be assigned). Note that calling the write() method on a Picture or Sound object does NOT count. If you decide to read or write a text file, you MUST use the Scanner and/or PrintWriter classes as discussed during the class (and demoed in the FileCopy project).

12) (2 pts) Write a try-catch block to perform exception handling. Your header for your main() method should NOT say “throws …Exception” (Hints: You’ll need use a try-catch to do file I/O. Consult the Java API for possible exceptions that various methods can throw.).

13) (2 pts) Utilize inheritance: write and use your own class that extends another class (either one that you write yourself, or one that is part of the bookClasses or the standard Java API).

14) (1 pt) Override a superclass method and use the @Override annotation (Hint: You’ll probably do this to implement event handling).

15) (2 pts) Utilize polymorphism. In your requirements file, you must explain how your code is polymorphic in order to earn these points.

16) (2 pts) Write and use an abstract class.
17) (1 pt) Accept keyboard input. Note: If you do not create a GUI, this should be done using

the Scanner class. If you do create a GUI, you should use a text box or another similar input gathering component; you should NOT expect the user to type input outside of your GUI window(s).

18) (1 pt) Display output to the screen. Note: If you do not create a GUI, this should be done using System.out.println. If you do create a GUI, to earn credit for this, some text- displaying component must change while the program is running.

19) (2 pts per component, up to 6 pts) Use the following components, handling events that they generate (you cannot just use 3 of the same type of component – you must use 3 different components). Each component must DO something in the final version of the project – it can’t just be decorative:

  1. a) JLabel
  2. b) JTextField
  3. c) JButton
  4. d) JCheckBox
  5. e) JRadioButton (don’t forget to use a ButtonGroup)
  6. f) JComboBox
  7. g) JList
  8. h) JTextArea
  9. i) JSlider
  10. j) Some other Java Swing component (make sure your requirements file lists the component name)

20) (1 pt per layout manager used) Use the layout managers listed below: a) FlowLayout
b) BorderLayout
c) GridLayout

21) (1 pt) Use a JPanel (Hint: You’ll need to do this in order to use more than one layout manager).

22) (2 pt) Use an inner class or an anonymous inner class (Hint: You’ll want to do this in order to handle events and make your components DO something).

23) (1 pt) Use a non-default font somewhere in your GUI by utilizing the method setFont(). Note that you can draw your text as a String – you don’t need to change the text on any particular component.

24) (1 pt) Use a non-default color somewhere in your GUI.

25) (1 pt per graphic type drawn) Draw graphics (shapes) including at least one of the following, using a non-default color:
a) lines
b) rectangles

c) ovals

26) (1 pt) Call repaint() somewhere in your code, to immediately refresh the graphics in some component.

27) (2 pts) Handle mouse events, like movement and clicking. Note that clicking on a button does not count as a mouse event – you must actually do mouse event handling, which means you must implement at least one of the methods from the MouseListener or MouseMotionListener interfaces. Alternately, you may use an adapter class.

  1. 28) (1 pt) Have a menu system.

"You need a similar assignment done from scratch? Our qualified writers will help you with a guaranteed AI-free & plagiarism-free A+ quality paper, Confidentiality, Timely delivery & Livechat/phone Support.


Discount Code: CIPD30



Click ORDER NOW..

order custom paper