Built-In Button
A built-in button is an icon placed inside an input control.

Implementation
To place a button inside a text field, use ExtendableTextField
and its addExtension()
method.
When to use
Use a built-in button instead of adding a separate button on the right where possible to save space and declutter the interface:
Correct ![]() | Incorrect ![]() |
Browse
Use the Browse icon to select a single file or a folder from the disc.

Implementation
A combo box with the Browse button:
Expand a field
If the input text can be long and the place is constrained, use an input field with the Expand button:

Expanded field:

List values
Use the List icon to select a value from the list of objects such as classes, methods, or environment variables:

Add value
Use the Add button to select multiple values, such as files, variables, folder paths. The selected values will be added to the existing list.

When not to use
Cut, Copy, Paste
Do not use the Copy, Paste or Cut button. Instead, make sure these actions are available on pressing Cmd/Ctrl+X, Cmd/Ctrl+C, and Cmd/Ctrl+V shortcuts or from the context menu.
Correct ![]() | Incorrect ![]() |
Help, Info
Do not use the Help or Info buttons to open an external link or a hint. Use the context help instead.
Correct ![]() | Incorrect ![]() |
Shortcut
The shortcut for a built-in button is Shift+Enter. The shortcut activates only when the input field with the button is focused.