COP 2800 (Java Programming) Project #1
Draw a Logo


Due: by the start of class on the date shown on the syllabus


Download to use as a starting point.  After installing the JDK, modify this program to display your own business card logo.  Your logo should contain some circles, lines, or rectangles, plus a business name (or just your name or a fake name) as text.  This must be a stand-alone program.

You are expected to use the Java API documentation (the “JavaDocs”) for the Graphics class in the java.awt package, to find the “methods” you use to draw shapes and text.  (Hint:  Look for method names that start with “draw” or “fill”.)

Your logo need not look like the sample.  Try to be creative!  You will not be graded on the artistic merits of your logo, just that you were able to correctly create, edit, compile, and display a Java program that included at least a few of the methods from the java.awt.Graphics to draw stuff, enough to show you made an effort to use the API (or JavaDoc) documentation.  Do not use some logo you didn't create yourself.


See the paint() method of for examples of drawing lines, rectangles, andand setting colors.  See LogoDemo.jar for a runnable sample logo; just download and double-click to run.  (Please do not laugh at your instructor's lack of artistic talent!)

Do not try to use JavaFx (the GUI system discussed in the text).  You can use either an AWT Frame, or a swing JFrame to paint your logo in.  (The GUIGreet demo uses an AWT Frame.)

Modern Java no longer allows unsigned (or self-signed) applets to run by default.  They should work fine using the “appletviewer” tool, however.  To view applets in your web browser, you need to add some entries to the exception site list from the Java control panel's Security tab.  This is a list of sites from which you will allow unsigned or self-signed code (applets) to run.  Just click the Edit site list... button, then click the Add button to add a new entry. You should add a few entries to enable running applets from your local computer:


(Probably, only the last one, “file:///”, is needed for our course.)  Note you will get warnings for using “http://” or “file://”, but it is safe to ignore those when using localhost.  You can add other sites to the list, such as (which does use Java for some of its tools) and (to run the demo applets).

To be turned in:

Email to me your Java program source, by copy-and-paste.  There is no need to include .class files in your submission.  (Please do not send as attachments!)  Send your project to .  Please use a subject such as “Java Project 1 Submission” or “Java Logo Project Submission”, so I can tell which emails are submitted projects.
Send project questions to .  Please use a subject such as “Java Project 1 Questions” so I can tell which emails are questions about the project.

Note: If you use Microsoft Outlook Express or a similar email program, please be aware that this program has a “feature” that automatically converts slash-slash (“//”) comments in your email to “FILE://”.  Make sure your java source is correct before you send the email!  If possible, use the “text” and not the “HTML” mode of your email program.

Late projects generally will not be accepted.  In the event a student submits more than one project, I will ignore all but the last one received up to the deadline.  Projects submitted after the deadline will not count toward your grade without the prior express approval of your instructor.  (All course late policies can be found on the syllabus.)

Other Requirements and Grading

You must turn in a stand-alone program, not an applet.

You must meet all the requirements from the description above.  If you include any creative extras, be sure your program still displays a logo as described above.  Creative extras are extras and you are not free to modify the project requirements.

A non-working project can score quite well (so don't be afraid to turn one in).  Also a fully working project may not score 100%.  The criteria for grading are as follows (see the syllabus for details):

Projects are graded according to their design (25%), how well they compile and run (20%), how well they meets the requirements specifications (20%), the coding style (15%), the amount (and quality) of comments(10%), and creativity in extending the project usefully, or an innovative design that uses the features taught in class well, etc. (10%).

You must work alone on your project, however you can ask your instructor for help anytime.  Do not wait until “the last minute” to begin work on your projects!

Please review Submitting Assignments and Project Grading Criteria from your class syllabus for further details.