Can't find the answer? Try online tutoring
We have the UK’s best selection of online tutors, when and for how long you need them.
Getting 1-on-1 support is cheaper than you might think.
Hi. I am stuck on this question. Any help will be appreciated.
The overall aim of this assignment is to implement a simple graphics tool. This must be built as a graphical application using the Java Swing and/or AWT classes. The software will allow users to type in simple commands which cause a virtual pen (sometimes it is also called a turtle after the Logo programming language which was popular in schools in the 1980s) to move around a virtual canvas area drawing lines as it moves. The final product should be a fully working application which includes a typical application window, containing a menu bar and supporting dialogue boxes. You should use GraphicsPanel.java inside your program. It sets up a canvas for you to draw on and displays a simple turtle. You can modify it as you see fit.
Requirement 1 – basic application 20 marks
The first requirement is to develop a simple GUI which contains an outer window (frame), a canvas drawing area, a console type text input area, and a menu bar. Themenu bar should contain at least a ‘File’ and a ‘Help’ menu. The ‘File’ menu should contain the options “New”, “Load”, “Save” and “Exit”. The ‘Help’ menu should contain an “About” option. The application window should be resizable by the user. For this first requirement the menu options can be blank and have no attached functionality, subsequent requirements will provide the actual functionality. When selected each option should pop–up a dialogue saying that the option has been selected.
Program runs Panel for drawing is displayed You need to demonstrate that the panel can be drawn on (note if you have implemented subsequent requirements they will do this). Console text area Note this could be the console itself or some sort of component such as a TextArea or TextField. You need to demonstrate that text can be entered and minimally echoed back (note if you have implemented subsequent requirements they will do this). (5 marks)
File Menu Items with pop ups for each New (1 mark) Load (1 mark) Save (1 mark) Exit (1 mark) Help Menu About (1 mark)
UML Diagram (10 marks) Should show internal detail of your classes (including GraphicsScreen.java). Any Swing/AWT classes or other external classes should be shown as boxes only. Requirement 2 – command support 35 marks The second requirement is to implement some basic commands to allow drawing. The users should be able to type in these commands within the console text area. The “New” menu option should cause the canvas to be cleared. The application should be able to spot invalid commands and report this to the user. The commands to be supported are very explicit and MUST match those shown in the following table. The command must be typed in by the user and not selected from a menu as some of them will have parameters which MUST be typed with the command, for example “forward 90”. The parameters must not be entered separately, either after the command or in a separate text field. These commands must not be entered using separate textfields for command and parameter. When the program first runs the turtle/pen should be set to the middle of the canvas and point down the screen and the pen should be set to “down”. Hence if the first command was “forward 100” a line from the middle of the screen to nearer the bottom would be drawn. Requirement 3 – loading, saving and exiting. 20 marks The main aim of requirement three is to implement the remaining menu options. The “Load” and “Save” should allow the user to select a file name via a dialogue box. The current image should then be either loaded or saved to a file. If the user attempts to load a new image without the current one been saved first then a warning dialogue should be shown to the user, which should provide the opportunity for the current image to be saved first. The “Exit” and “About” menu options should also be completed. During exit a similar check should be made to see whether the user is attempting to exit without saving changes.