Java Reference
In-Depth Information
public SketchFrame(String title) {
setTitle(title); // Set the window title
setJMenuBar(menuBar); // Add the menu bar to the window
setDefaultCloseOperation(EXIT
_
ON
_
CLOSE); // Default is exit the application
JMenu fileMenu = new JMenu("File"); // Create File menu
JMenu elementMenu = new JMenu("Elements"); // Create Elements menu
fileMenu.setMnemonic('F'); // Create shortcut
elementMenu.setMnemonic('E'); // Create shortcut
// Create the action items for the file menu
newAction
=
new
FileAction("New",
KeyStroke.getKeyStroke('N',Event.CTRL
_
MASK ));
openAction
=
new
FileAction("Open",
KeyStroke.getKeyStroke('O',Event.CTRL
_
MASK
));
closeAction = new FileAction("Close");
saveAction
=
new
FileAction("Save",
KeyStroke.getKeyStroke('S',Event.CTRL
_
MASK
));
saveAsAction = new FileAction("Save As...");
printAction
=
new
FileAction("Print",
KeyStroke.getKeyStroke('P',Event.CTRL
_
MASK
));
// Construct the file pull down menu
addMenuItem(fileMenu, newAction);
addMenuItem(fileMenu, openAction);
addMenuItem(fileMenu, closeAction);
fileMenu.addSeparator(); // Add separator
addMenuItem(fileMenu, saveAction);
addMenuItem(fileMenu, saveAsAction);
fileMenu.addSeparator(); // Add separator
addMenuItem(fileMenu, printAction);
// Construct the Element pull down menu
addMenuItem(elementMenu, lineAction = new TypeAction("Line", LINE));
addMenuItem(elementMenu,
rectangleAction
=
new
TypeAction("Rectangle",
RECTANGLE));
addMenuItem(elementMenu, circleAction = new TypeAction("Circle", CIRCLE));
addMenuItem(elementMenu, curveAction = new TypeAction("Curve", CURVE));
elementMenu.addSeparator();
JMenu colorMenu = new JMenu("Color"); // Color sub-menu
elementMenu.add(colorMenu); // Add the sub-menu
addMenuItem(colorMenu, redAction = new ColorAction("Red", Color.RED));
addMenuItem(colorMenu,
yellowAction
=
new
ColorAction("Yellow",
Color.YELLOW));
addMenuItem(colorMenu, greenAction = new ColorAction("Green", Color.GREEN));
addMenuItem(colorMenu, blueAction = new ColorAction("Blue", Color.BLUE));
menuBar.add(fileMenu); // Add the file menu
menuBar.add(elementMenu); // Add the element menu
}