java assignment

CSCI 431 HW 3

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper

For this homework, you will write a Java class that reads through a text file of drawing commands and draws the appropriate shapes onto JFrames. The following commands must be supported

FRAME width height // sets up a new frame with given width and height (both integers)

COLOR red green blue // sets the current “pen color” to the color with the given rgb components.

RECTANGE x y width height // draws a rectangle with upper left corner at x,y and given width and height (all // given in integers)

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper

CIRCLE x y radius // draws a circle centered at x,y with given radius (as doubles)

ELLIPSE x y xradius yradius // draws an ellipse centered at x,y with semi-radii xradius and yradius (Note:
// these parameters are slightly different than that in Ellipse2D.Double’s
// constructor.

LINE x1 y1 x2 y2 // draws a line from x1,y1 to x2,y2 (as doubles)

A sample command paint_instructions.txt file is as follows:

FRAME 200 100 // open a frame, note: parser must ignore any comments

COLOR 255 0 0 // set color to red

RECTANGLE 20 30 40 20 // draw a red rectangle

COLOR 128 128 128 // set color to gray

CIRCLE 100 50 25 // draw a gray circle

FRAME 100 100 // open a second frame

COLOR 0 0 255 // set color to blue

ELLIPSE 50 50 30 20 // draw a blue ellipse

COLOR 0 255 0 // set color to green

LINE 10 20 90 80 // draw a green line

For simplicity, there should be only one command per line which may end in a comment as shown above.

Your program should read commands and set up appropriate GUI structures in the Java Swing environment. If a command has a syntax error, then your program should detect this and print out a message to the output console indicating the line number from your command file that had the error. Hint: there is an easy way to do this by catching runtime exceptions that are thrown in a try block.

Still stressed with your coursework?
Get quality coursework help from an expert!