Java TM Look and Feel Design Guidelines: Advanced Topics > Part I: General Topics > 3: Menus > Additional Menus   Previous Next Contents/Index/Search


Additional Menus

When designing menus, use the common menus (described on page 42) as a starting point. Your application might, however, need more menus if it has more items than the common menus can display. When adding menus beyond the common ones, start by adding a menu for the primary object types in the application window. This chapter refers to such menus as Object menus.

Object Menus

Object menus contain menu items for creating, deleting, and modifying objects of the type Object . Object refers to an object type within the window's top-level object type, referred to here as File . An Object menu differs from a renamed File menu. For information on File and renaming the File menu, see page 43.

Figure 32 shows examples of Object menus.

Figure 32   Example Object Menus


When including an Object menu in your application, place the New, Open, and Save items for that object type in its Object menu, not in the File menu. For example, an email application might define two Object menus labeled Mailbox and Message. The Mailbox menu would include items for creating and modifying mailboxes. The Message menu would include items for creating and modifying mail messages.

Avoid creating too many Object menus. Decide which objects should be prominent in your user interface and which ones are subordinate to other objects. Most subordinate objects should not have their own menu. If a menu item relates to a subordinate object, you can place that item in a menu associated with the superior object. For example, if a window contains a table, you can place table-related menu items (such as Delete Row) on the window's Edit menu.

For guidelines about the correct order of menus in the menu bar, see Common Menus.

 When you include an Object menu, place the New, Open, and Save menu items for that object type in that Object menu.

 Do not use generic Object menus labeled either "Object" or "Selected." Use specific labels for your Object menus.

Object Menus and the Action Menu

If your application has no maximum number of top-level object types, you cannot create an Object menu for each top-level object type. Consider including an Action menu instead of an Object menu.

An Action menu is a menu whose title is "Action" and whose contents vary depending on the application's context and the current selection. Also consider including an Action menu if you expect your application's top-level object type to change.

For example, an application consisting of two tools could load one set of menu items in its Action menu when one tool was in current use, but load another set of menu items when the other tool was in use. Each set of menu items would be specific to the current tool.

In rare situations you might need Object menus as well as an Action menu-- Object menus for a few top-level objects used widely in your application and an Action menu for other object-based menu items.

 Provide an Action menu under either of the following conditions:

  • Your application has no maximum number of top-level object types.
  • The top-level object types can vary widely.

 When providing an Action menu, place it directly to the left of the View menu.

 If you provide an Action menu, make the contents of the Action menu dependent on your application's context and current selection.

Beyond Object Menus and the Action Menu

After you evaluate the common menus and, optionally, add Object menus or an Action menu, you might still need more menus. Typically, the titles of such additional menus are verbs--for example, "Insert," "Compose," or "Debug." The items in these menus should relate to a task that users perform frequently.

 If you application has additional menus, place them directly to the right of the Object menus--if there are any--and directly to the left of the Help menu.

Java Look and Feel Design Guidelines: Advanced Topics.
Copyright 2001. Sun Microsystems, Inc. All Rights Reserved.
Previous Next Contents/Index/Search
Left Curve
Java SDKs and Tools
Right Curve
Left Curve
Java Resources
Right Curve
Java 8 banner (182)