Typical File Menu
An application's leftmost menu, typically titled "File," contains the following types of menu items:
Items that affect a window's top-level object typethe type of object that the window represents, such as a file, mailbox, or computer.
Items that affect the entire applicationfor example, application preferences.
Items by which users interact with external resources. For example, in Figure 25, the Print menu item enables users to interact with a printer.
Figure 25 Example File Menu
Although the title of the leftmost menu is usually "File," you can instead name it after the window's top-level object typefor example, "Console," "Mailbox," or "Computer."
Except where noted, this chapter refers to an application's leftmost menu as the "File menu," though the menu's actual title might differ.
Place a menu item in the File menu if that item enables users to interact with an external resource, such as a printer.
Ensure that the File menu is always the leftmost menu of the menu bar. In addition, ensure that the File menu's title is either "File" or the name of the object type that the window represents.
The New item, shown in Figure 26, enables users to create an object of the type that the window represents. (In contrast, the Open item, described on page 39, reopens an existing object of that type.)
Figure 26 New Menu Item
The New item has several variants, each for a different type of application. Some frequently used variants are:
New...Displays a dialog box.
New (with a submenu indicator)Opens a submenu, as in Figure 27.
New FileCreates an object of type File.
New WindowCreates a new primary window displaying, typically, a new view of the same objects that the current primary window displays.
Figure 27 New Menu Item with Submenu
To determine which variant of the New item to use, decide whether your application will enable users to create objects in the current primary window, in a new primary window, or in either. A task analysis can help you make this decision. (To learn about task analysis, see a book such as User and Task Analysis for Interface Design, described in "Related Books" on page xiv.) "Window Management and the File Menu" on page 49 can also help you decide which variant of the New item fits your application.
If users can create more than one type of object, the File menu can list more than one variant of the New item. For example, the File menu might list a New Mailbox item and a New Message item. If users can create ten or more types of objects, consider using a New... menu item to display a dialog box where users can choose a type of object.
Include the New item in a window's File menu if users can create objects in that window.
If users can create at least three types of objectsbut fewer than ten typesensure that the File menu's New item activates a submenu showing the types of objects that users can create.
In a File menu, ensure that the New item (or any one of its variants, New..., New File, or New File...) creates an object either in the current primary window or in a new primary window.
In a File menu, ensure that the New Window item (if present) creates a primary windowtypically one containing a new view of the same objects displayed in the current primary window. If a menu item behaves in this way, label it New Window.
If users can set parameters of a new object, include a New... or New File... item in the File menu. Display a dialog box to help users set the new object's parameters before the application creates the object. For example, an email application might display a dialog box to let users name a mailbox before the application creates it.
In the File menu, if the New item has a submenu, assign the keyboard shortcut Ctrl-N to the most frequently used submenu item.
The Open item opens an existing object in the current primary window or a new primary window. Typically, users choose the object in a dialog box for choosing files or other objects.
The Open item has the following variants:
- Open (with a submenu indicator)
- Open... (displays a dialog box)
- Open in Current Window
- Open in Current Window...
- Open in New Window
- Open in New Window...
The correct form to use in your application depends on whether the application can open objects in:
- The current primary window
- A new primary window
- Either the current primary window or a new primary window
For help in deciding which variant of the Open item fits your application, see "Window Management and the File Menu" on page 49.
A File menu's New and Open items must manage windows in the same way. For example, if the New item creates objects in the current window, the Open item must also create objects in the current window.
If users can open at least three types of objectsbut fewer than ten typesensure that the File menu's Open item activates a submenu showing the types of objects that users can open.
In a File menu, if the Open item has a submenu, assign the keyboard shortcut Ctrl-O to the most frequently used submenu item.
If your application needs a dialog box for choosing files, use the file-chooser dialog box in the Swing API of the Java Foundation Classes.
The Close item closes the current primary window. Include the Close item only if your application can display more than one primary window. Group the Close item with the New item and the Open item.
If your application supports more than one primary window, ensure that each File menu includes a Close menu item.
In a File menu, ensure that the Close item closes an application's current primary window and only that window.
If only one primary window remains open, ensure that the File menu's Close item behaves like that menu's Exit item. (For a description of the Exit item, see "Exit Item" on page 42.)
If closing a window will discard a user's unsaved changes, warn the user by displaying an alert box.
The Print item prints the current object. The Print item ends in an ellipsis if it will display a Print Options dialog box. Display a Print Options dialog box if users can set print options.
If your application needs a Print Options dialog box, use the print-chooser dialog box in the Swing API of the JFC (Java Foundation Classes).
The Preferences item displays a property sheet that lists preference settings for an entire application.
If your application's users can set preferences, include a Preferences item in the File menu.
File Properties Item
The File Properties item sets properties of the application window's top-level object (for example, a mailbox).
If a window's leftmost menu is named for the window's top-level object type (referred to here as File), and that object type has properties that users can display, ensure that the File menu includes an item labeled File Properties.
Most Recently Used (MRU) Menu List
Many applications provide a Most Recently Used (MRU) list so that users can reopen objects. The MRU list is a dynamic list of a user's most recently opened objects. The first object on the list is the one most recently used. If your application has an MRU list, assign mnemonics to the MRU numbers in the list, as shown in Figure 28.
Figure 28 Most Recently Used (MRU) List in a File Menu
If a File menu has a Most Recently Used list, place that list just above the menu's Exit item. Place one separator above the list and another separator below the list.
If a File menu has a Most Recently Used list, ensure that the list displays no more than 10 objects.
The Exit item terminates an application, closing all its windowsno matter how many primary windows are open. In applications that can display multiple primary windows, the File menu includes an Exit item and a Close item. The Close item closes only the current primary window and then terminates the application if no other primary window is open. If just one primary window is open, the Exit item and the Close item have the same effect. (For more information on the Close item, see page 40.)
In applications that can display only a single primary window, the Exit item is the only way to close that window from the File menu. In such applications, the File menu does not include a Close item.
Ensure that the Exit item is the final item in the File menu.
Ensure that the Exit item closes all associated windows and terminates the application.
If terminating the application will discard a user's unsaved changes, warn the user by displaying an alert box.