IntelliJ Platform Plugin SDK Help

Miscellaneous Swing Components

Messages

Messages provides a way to show simple message boxes, input dialogs (modal dialogs with a text field), and chooser dialogs (modal dialogs with a combo box). On macOS, the message boxes use the native UI.

The showCheckboxMessageDialog() function provides an easy way to implement a Do not show this again checkbox on messages.

JBSplitter

JBSplitter is a replacement for the standard JSplitPane class. Unlike some other JetBrains-enhanced Swing components, it is not a drop-in replacement and has a different API. However, to achieve a consistent user experience, it is recommended to use JBSplitter instead of the standard JSplitPane.

To add components to the splitter, call the setFirstComponent() and setSecondComponent() methods.

JBSplitter supports automatic remembering of the split proportion. To enable it, call the setSplitterProportionKey() method and pass the unique ID under which the proportion will be stored.

JBTabs

JBTabs is an implementation of the tab control, used for editor tabs and a few other components. It has a significantly different look & feel compared to the standard Swing tabs and looks less native on the macOS platform, so it's up to the developer to choose which tab control would be more appropriate.

Toolbars

See Toolbar in the UI Guidelines for an overview.

Building a Toolbar/Popup Menu from Actions covers creating AnAction-based toolbars.

Last modified: 23 October 2024