com.explodingpixels.macwidgets

## Class ComponentBottomBar

- java.lang.Object
- - com.explodingpixels.macwidgets.TriAreaComponent
  - - com.explodingpixels.macwidgets.ComponentBottomBar

-     public class ComponentBottomBar
      extends TriAreaComponent

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `protected class` | `ComponentBottomBar.SplitterHandleMouseMovementHandler`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected ComponentBottomBar.SplitterHandleMouseMovementHandler` | `fMouseListener`
    `protected JSplitPane` | `fSplitPane`
    `protected JLabel` | `fSplitterHandle`
    `protected static ImageIcon` | `SPLITTER_HANDLE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ComponentBottomBar()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addComponentToCenterWithBorder(JComponent toolToAdd)`
    `void` | `addComponentToLeftWithBorder(JComponent toolToAdd)`
    `void` | `addComponentToRightWithBorder(JComponent toolToAdd)`
    `JComponent` | `createAndAddButton(Icon icon, ActionListener actionListener)` Adds a new button with the given icon.
    `PopdownButton` | `createAndAddPopdownButton(Icon icon, PopupMenuCustomizer popupMenuCustomizer)` Add a new pop-down style button.
    `void` | `hideResizeHandle()` Hides the resize handle.
    `void` | `installDraggableWidgetOnSplitPane(JSplitPane splitPane)` Connects the draggable widget in this `ComponentBottomBar` to the divider of the given `JSplitPane`.

    - ### Methods inherited from class com.explodingpixels.macwidgets.TriAreaComponent

      `addComponentToCenter, addComponentToCenter, addComponentToLeft, addComponentToLeft, addComponentToRight, addComponentToRight, getCenterComponentCount, getComponent, getLeftComponentCount, getRightComponentCount, installWindowDraggerOnWindow, setBackgroundPainter`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### SPLITTER_HANDLE

          protected static final ImageIcon SPLITTER_HANDLE

    - #### fSplitPane

          protected JSplitPane fSplitPane

    - #### fSplitterHandle

          protected final JLabel fSplitterHandle

    - #### fMouseListener

          protected final ComponentBottomBar.SplitterHandleMouseMovementHandler fMouseListener

  - ### Constructor Detail

    - #### ComponentBottomBar

          public ComponentBottomBar()

  - ### Method Detail

    - #### addComponentToLeftWithBorder

          public void addComponentToLeftWithBorder(JComponent toolToAdd)

    - #### addComponentToCenterWithBorder

          public void addComponentToCenterWithBorder(JComponent toolToAdd)

    - #### addComponentToRightWithBorder

          public void addComponentToRightWithBorder(JComponent toolToAdd)

    - #### installDraggableWidgetOnSplitPane

          public void installDraggableWidgetOnSplitPane(JSplitPane splitPane)

      Connects the draggable widget in this `ComponentBottomBar` to the divider of the given `JSplitPane`. Thus when the user drags the `ComponentBottomBar` draggable widget, the given `JSplitPane`s divider location will be adjusted. DO THIS LAST AFTER YOU ADD ALL OTHER COMPONENTS TO THE RIGHT
      Parameters:
        `splitPane` - the `JSplitPane` to connect the draggable widget to.

    - #### createAndAddPopdownButton

          public PopdownButton createAndAddPopdownButton(Icon icon,
                                                PopupMenuCustomizer popupMenuCustomizer)

      Add a new pop-down style button. The given `PopupMenuCustomizer` will be called just prior to each showing of the menu.
      Parameters:
        `icon` - the icon to use in the pop-down menu.
        `popupMenuCustomizer` - the `PopupMenuCustomizer` to be called just prior to showing the menu.

    - #### createAndAddButton

          public JComponent createAndAddButton(Icon icon,
                                      ActionListener actionListener)

      Adds a new button with the given icon. The given `ActionListener` will be called when the button is pressed.
      Parameters:
        `icon` - the icon to use for the button.
        `actionListener` - the `ActionListener` to call when the button is pressed.

    - #### hideResizeHandle

          public void hideResizeHandle()

      Hides the resize handle.