Common
requirements: (not provided by user )
Submission format
floppy disk (or CD)
access window is at bottom of disk
print label: Name, CIS501,
homework title(s)
folder structure:
homework_N_folder:
readme.txt << if any
bat file
src folder
package folder
*.java
class folder
package folder
*.class
data folder
*.jpg
*.txt
<<< serialized files , help_text
GUI features:
informative title on the frame bar
frame centered on screen
splash frame for slow jbInit()
<<< later
standard menu structure
common color scheme
inactive controls are dimmed
about frame with program & author
info
& author picture (1.5 x
1.0 in)
pop-up frames overlap the main frame
info frame with verticle scollable text <<
should use some help tool
meaningful error messages to user
selection input uses selection vs data
entry
date input uses calendar bean
file selection via standard
fileChooser
slow progress operations show a
progress bar
Code
style:
files signed with name, date, course
text files read as single block
persistent data is serialized (to *.txt )
informative names for
classes,
methods, beans:
someApp
someFrame
collections as “AllUsers”
anonymous event-handler methods in the
containing frame
(Frame NOT implement ActionListener )
Class
architecture:
App-GUI-model-[controller] architecture
collections use standard collections
(java.util.* )
collections wrapped in type-specific
adaptor class
(collections NOT bound as
list, array, etc.)
Run
behavior:
complete
system exit
load / save for persistent data
file names related to the project are
relative to the project folder
(not absolute
paths as C:/stuff or U:/stuff )
Jframe
-> jPanel -> jScrollPane
-> jTextArea
jFrame -> jPanel -> jLable ->
ImageIcon -> image.gif