<commit_before>---
title: IntelliJ IDEA User Interface Components
---

<!--
INITIAL_SOURCE https://confluence.jetbrains.com/display/IDEADEV/IntelliJ+IDEA+User+Interface+Components
-->

# {{ page.title }}

IntelliJ IDEA includes a large number of custom Swing components. Using those components in your plugins will ensure that your plugin looks and works consistently with the UI of the rest of the IDE, and can often reduce the code size compared to using the default Swing components.

The following components are particularly noteworthy:

*  *Menus and toolbars*  are built using the [IntelliJ IDEA Action System](action_system.html)
*  [IntelliJ IDEA Tool Windows](tool_windows.html)
*  [IntelliJ IDEA DialogWrapper](dialog_wrapper.html)
*  [IntelliJ IDEA Popups](popups.html)
*  [IntelliJ IDEA Notifications](notifications.html)
*  [File and Class Choosers](file_and_class_choosers.html)
*  [Editor Components](editor_components.html)
*  [List and Tree Controls](lists_and_trees.html)
*  Tables (TableView) (TBD)
*  Drag & Drop Helpers (TBD)
*  [Miscellaneous Swing Components](misc_swing_components.html)

    *  Messages
    *  JBSplitter
    *  JBTabs

<commit_msg>[site] styling - ui components table of contents<commit_after>---
title: IntelliJ IDEA User Interface Components
---

<!--
INITIAL_SOURCE https://confluence.jetbrains.com/display/IDEADEV/IntelliJ+IDEA+User+Interface+Components
-->

# {{ page.title }}

IntelliJ IDEA includes a large number of custom Swing components. Using those components in your plugins will ensure that your plugin looks and works consistently with the UI of the rest of the IDE, and can often reduce the code size compared to using the default Swing components.

The following components are particularly noteworthy:

*  *Menus and toolbars*  are built using the [IntelliJ IDEA Action System](action_system.html)
*  [Tool Windows](tool_windows.html)
*  [DialogWrapper](dialog_wrapper.html)
*  [Popups](popups.html)
*  [Notifications](notifications.html)
*  [File and Class Choosers](file_and_class_choosers.html)
*  [Editor Components](editor_components.html)
*  [List and Tree Controls](lists_and_trees.html)
*  Tables (TableView) (TBD)
*  Drag & Drop Helpers (TBD)
*  [Miscellaneous Swing Components](misc_swing_components.html)

    *  Messages
    *  JBSplitter
    *  JBTabs


{'fraction_non_alphanumeric': 0.09325311559948432, 'fraction_numerical': 0.0, 'mean_word_length': 4.953964194373402, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5957105', 'n_tokens_mistral': 743, 'n_tokens_neox': 701, 'n_words': 220}