| Java Sun >
Guidelines Home Page > Java Look and Feel Design Guidelines >
Part III: The Components of the Java Foundation Classes > 10: Basic Controls
Buttons, combo boxes, and sliders are examples of controls--interface elements users can manipulate to perform an action, select an option, or set a value. A button is a control that users click to perform an action, set or toggle a state, or set an option. In the Java look and feel, buttons include command and toggle buttons, toolbar buttons, checkboxes, and radio buttons. A combo box is a control that enables users to select one option from an associated list; users can also type an option into an editable combo box. A list box is a control that presents a set of choices from which a user can select one or more items; items in a list box can be text, graphics, or both. (A related list component, called a selectable list, is described in Chapter 12.) A slider is a control that enables users to set a value in a range.Figure 148 Buttons, Combo Box, List Box, and Slider
For text in buttons, sliders, and combo boxes, use headline capitalization.
Make sure you use layout managers to lay out your controls so they allow for the longer text strings frequently associated with localization.
A command button is a button with a rectangular border that contains text, a graphic, or both. These buttons typically use button text, often a single word, to identify the action or setting that the button represents. See Command Buttons in Dialog Boxes for a list of commonly used command button names and their recommended usage.
Command buttons in a dialog box can stand alone or appear in a row, as shown in Figure 149.
Click here to view the corresponding code for Figure 149 (also available on the book's companion CD-ROM).
Figure 150 shows toolbar buttons for a text-editing application.
Click here to view the corresponding code for Figure 150 (also available on the book's companion CD-ROM).
Figure 151 Available, Pressed, and Unavailable Command Buttons
For a list of keyboard operations for the activation of command buttons, see Table 17.
Display mnemonics in button text, with the exception of default command buttons and the Cancel button in dialog boxes.
To make command buttons without text more accessible, create tool tips that describe or name the functions of the buttons.
Make your button text easier to localize by using resource bundles. A resource bundle stores text separately so that localizers don't have to change the application's source code to accommodate translation.
For more on resource bundles in the localization process, see Resource Bundles.
For details on the layout and spacing of command buttons, see Command Button Spacing and Padding.
One of the buttons in a window can be the default command button. The JFC gives default command buttons a heavier border.
A default command button (such as Save in Figure 152) should represent the action most often performed (if that action does not lead to loss of user data).
Click here to view the corresponding code for Figure 152 (also available on the book's companion CD-ROM).
The Enter and Return equivalents activate the default command button unless keyboard focus is currently on a component that accepts the Enter or Return key. For instance, if the insertion point is in a multiline text area and the user presses Enter, the insertion point moves to the beginning of a new line rather than activating a default button. In this case, users can press Ctrl-Enter to activate the default button. Alternatively, they can press Ctrl-Tab to move the focus out of the current component and then press Enter.
In most situations, make OK the default button.
Never make an unsafe choice the default button. For instance, a button that would result in the loss of unsaved changes should not be the default command button.
The JFC does not automatically implement the Escape key as the keyboard equivalent for the Cancel button, so this behavior must be implemented. As with the Enter and Return keys for the default command button, the Cancel button should not require keyboard focus to be activated by the Escape key.
Figure 153 shows a Print button with a graphic on the leading edge of the text and a Delete button with a graphic above the button text.
Click here to view the corresponding code for Figure 153 (also available on the book's companion CD-ROM).
In command buttons containing both text and graphics, place the text after or below the image.
When adding graphics to buttons that typically use text, such as dialog box command buttons, place the graphic on the leading edge of the button text (that is, to the left of the text in left-to-right locales). Include the graphic in such contexts, for instance, if the graphic serves as a reminder of the toolbar button that initially displayed the dialog box.
In contexts that typically use graphical buttons, such as toolbars, place button text beneath the graphic or on the trailing edge (right in left-to-right locales) of the button. Consider giving users the choice of what to display and where to display it.
Use mnemonics in your command buttons--with the exception of the default and Cancel buttons.
Provide a way to display text in command buttons as an aid to low-vision users.
For a list of commonly used mnemonics organized by menus, see Table 9. For an alphabetical list of commonly used mnemonics, see Table 13. Try to use these mnemonics if possible. Do not duplicate mnemonics.
When a command button does not fully specify an operation but instead that operation is completed by a dialog box, notify the user by placing an ellipsis mark after the button text. (Note that this applies only to text in buttons. No ellipsis is used in graphics-only buttons.) For example, after clicking a Print... button, users are presented with a dialog box in which to specify printer location, how many copies to print, and so forth. By contrast, a Print command that prints one copy to the default printer without displaying a dialog box would not require an ellipsis mark.
When users must interact with a dialog box to finish the specification of a command initiated in a command button, use an ellipsis mark (...) after the button text. (Do not use an ellipsis with graphics-only buttons.) When a full specification of the command is made in the button text, do not use ellipses.
The button text added to a command button that uses ellipses must contain three periods.
|Java Look and Feel Design Guidelines, second edition.
Copyright 2001. Sun Microsystems, Inc. All Rights Reserved.