• Home
  • Blog
  • For this homework, you will write a Java class that reads through a text file of drawing commands and draws…

For this homework, you will write a Java class that reads through a text file of drawing commands and draws…

0 comments

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)

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.

About the Author

Follow me


{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}