EECS 1720 AWT交互式应用

ASSIGNMENT 2 :: Java AWT/Swing application – Interactive Application
Resources:
Java API: https://docs.oracle.com/javas...
Java AWT/Swing: https://www.javatpoint.com/ja...
Java Swing: https://docs.oracle.com/javas...
The GOAL of this assignment is to build upon Assignment 1, to integrate & expand the interaction
in your application design to include free mouse & key interactions (along with interactions on
GUI controls), that drive the presentation of some form of dynamic visual (or animated)
component.
The goal is not necessarily to have a complete and fully functional application, but rather to have
your application partially enabled in terms of illustrating the workings of a particular feature set
of the application (i.e. some basic interactions or movements within a sample scene of your
application; or the switching between multiple contexts within your application – such as switching
between a configuration mode and a scene from the a working part of your application).
For e.g., if you are creating a scene from a game, you might focus on an animated or controllable
moving element, or dynamically loaded/displayed set(s) of visual elements within a canvas in your
application; if you are creating a compositional tool or simulation, you might enable the switching
between a configuration screen that sets parameters for your application, and another scene that
uses those parameters to drive the creation of some graphical output; if you are creating a database
or ordering tool, you might switch between an enabled configuration/submission screen (where
you enter data), and some visual representation of data loaded into in your application (such as
generating a visual report of the data entered).
IMPORTANT: This assignment should be written using Java AWT/Swing (not Java FX)
Assignment 2 deliverables:
1) Process a minimum of 2 action-based events that result from interaction with a UI
control), that directly result in some visual change in the scene, and/or a modification to
the state of your application
a. The application should have at least one handler to process at least 2 kinds of UI
triggered action event (or similar)
b. The two action events cannot be from the same type of UI control (they must be
from different types of controls.. i.e. handling two events triggered by two different
buttons does not satisfy this requirement in full. You should have at least one other UI
control that is not of the same type.
For example (in the context of a scene from a game), clicking on a button or other UI
control would create one of the types of characters and position it on the screen.
Another button could move the character (the character would move in a way that is
unique for that character).
The character might undergo a collision (triggering an event that is handled), or
another checkbox or other control could change the appearance of the character, or
enable them in some other way (e.g. a textfield could generate a speech bubble, or
control something else visual in the scene).
2) Process a minimum of 2 key-based/mouse-based events that result in some visual change
in the scene, and/or a modification to the state of your application
a. The application must have at least one handler for each of the above types of events to
process – this can be either on a graphical object or in the window (e.g. drag event or
mouse down/release, key press/release, etc.)
For example (game context): moves could be triggered by a keypress rather or a mouse
click on or near the character itself (e.g. right click results in a move, while left click
results in an appearance change).
In another context (compositional tool/simulation), a click into a canvas area could
provide input for the start of a drawing/automatically generated artwork (think about
your labs from EECS1710, where the user provides input for the turtle-based graphics,
which are now drawn with direct calls to Graphics2D references as opposed to using
the turtle. Or think about how you might make interactive inputs to control
manipulations made on audio or image files). ** these are examples only.
Perhaps you want to collect and store/manage a small image collection (and be able
to easily recall and do something with an image from that collection) – again the types
of interaction do not necessarily need to be that involved. We are not expecting AAA
games or Photoshop quality tools. Keep it as simple as possible. Ensuring that the
minimum specifications are achieved.
3) The submission should include a signed version of the AcademicIntegrity statement, a
README.txt and a UML diagram describing your program and any classes that you
have built that are part of/used by the application (previously in Assignment 1 you did
this for what you “intended” to build – so it was more in a design stage. These diagrams
should outline what you “actually” built.
Academic Integrity Statement (see attached at the end of this file). Sign and submit this
page with your final assignment 2.
README.txt:
a. Include all the names and student ID’s of the people in your group
b. Include a brief description of the project, what it does (not what you had hoped it
would do), and how to use it
c. Include any references to resources/inspiration used for this project
UMLDiagrams.pdf:
d. Include one or more UML class diagrams outlining the classes you have built for this
project, what including all HAS-A and IS-A relationships used
e. Bonus marks if you use inheritance or interfaces within any of the classes you build
(not including extending JFrame or using any Listener interfaces).
RUBRIC (Marking Scheme) - 50 points total = worth 10% toward final grade
• Meets Goal 1 (15 points)
• Meets Goal 2 (15 points)
• Meets Goal 3 (10 points)
• Aesthetics/Creativity (10 points)
PROJECT SUBMISSION (Deadline: 11:59pm, Sunday 11th April, 2021)
Please submit your work as a complete project file (export your project to a zip file from within
the Eclipse IDE, and select all files in the subfolder except *.class files for export). Export your
work into a *.zip file). To do this, select the project, right click and select export. Export as a
complete zipped project.
** Alternatively, if you have used GitHub, you may download a cloned (zipped) version of your
Git Repository (with all the files above), and submit that to web submit.
Submit 1-4 files to “a2” directory in websubmit (this only needs to be done through one of the
group members):

  1. Signed Academic Integrity statement (last page of this document). This needs to be
    included with your submission, with names and signatures of all of your team members.
  2. the exported/cloned project (*.zip file) - please make sure the file opens and runs on the
    EECS VM or lab machine before submitting
  3. a text file (e.g. README.txt) - inside list the student ID numbers and names of all
    members of the group, and include a brief description of the project (what it is, basics of
    how to run/use it)
  4. the UML full class diagram (UMLDiagrams.pdf) outlining the classes you have built for
    your project - no need to integrate classes that already exist, except as fields of your
    classes where appropriate).
    Recall: if you submit multiple times, the files previously submitted will be overwritten with the
    newer versions of the files. You can submit an unlimited number of times up until the deadline
    for this project. You can also check what you have submitted through the web-submit portal:
    Web-submit can be found at the link: https://webapp.eecs.yorku.ca/...
    EECS 1720M – W2021
    ASSIGNMENT 2
    ACADEMIC INTEGRITY STATEMENT
    We (the undersigned) hereby confirm that this assignment represents the sole work of the
    individuals listed below.
    We (the undersigned) confirm that this work has been completed in adherence to the Senate
    Policy on Academic Honesty, without unapproved collaboration or the use of unpermitted aids
    or resources.
    We recognize the importance of academic integrity and understand that there is no tolerance
    towards academic dishonesty within the Lassonde School of Engineering. We are aware that
    any suspected breaches will be reported to the Academic Honesty unit within the Student
    Welcome and Support Centre, and may result in additional penalties in accordance with the
    Academic Honesty Policy.
    Name: First, Last Login Name:
    (indicate the login
    used for submission)
    Student No.: Signature/Date:

你可能感兴趣的:(java)