In this magercise, you will add a working menubar and toolbar, with tool
tips, to complete a basic text editor. The editor needs menu options to
start working on a new file, open an existing one, save the file, close
the window, and display an about box. The toolbar you'll create will need
entries for new, open, save, and about with tool tips.
The skeleton code contains the functionality to do the actual work via the
following methods:
In the TextEdit constructor skeleton, setup the screen to
have, from top to bottom, a JToolBar, JTextArea,
and JLabel (for status messages). Save a reference to the
JTextArea and JLabel in the instance variables
pane and statusInfo, respectively, as the event
handling methods need access to them. Be sure to place the
JTextArea within a JScrollPane to support scrolling.
Set the JToolBar to not be floatable so that it cannot be
dragged outside the frame.
If you prefer to have the toolbar floatable, you can skip this step.
Create a JMenuBar and add it to the JFrame.
Setup the first menu on the JMenuBar. Create a
JMenu labeled "File" with JMenuItems
under it of "New", "Open", "Save",
and "Close". Place a separator between the "Save"
and "Close" entries.
Add a keyboard mnemonic to each item. Use the first letter of the label.
For each JMenuItem, create an anonymous
ActionListener to process the event and
call the appropriate method to handle the event.
- New -
doNewCommand()
- Open -
doOpenCommand()
- Save -
doSaveCommand()
- Close -
doCloseCommand(statusCode)
Add the Help JMenu, with the About JMenuItem.
Add a key accelerator for each of 'H' and 'A' respectively. And have the
action handler of the About menu item call doAboutCommand().
In the doAboutCommand() method, create a modal
JDialog named dialog to display the 'About'
information. Have the dialog title be "About...". You will
need to declare the variable final
so it will be usable in the internal event handler.
Once the menus are setup, its time to setup the toolbar. Create four
JButtons to place on the toolbar, labeled New, Open, Save, and
About. Add a separator between Save and About.
For each button on the toolbar, add a tooltip, with an appropriate message.
For each button, create an anonymous ActionListener to process
the event and call the appropriate method to handle the event.
Save everything and compile the program. Then run it to see the results.
As a precautionary behavior, the Save command appends a "1" to
the end of the filename you desire to save the file as. This attempts to
prevent you from accidently overwriting your source code.