Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jdesktop.swingx
Class JXStatusBar

    java.lang.Object
      java.awt.Component
          java.awt.Container
              javax.swing.JComponent
                  org.jdesktop.swingx.JXStatusBar

All Implemented Interfaces:
  java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

    public class JXStatusBar

extends javax.swing.JComponent

A container for `JComponents` that is typically placed at the bottom of a form and runs the entire width of the form. There are 3 important functions that `JXStatusBar` provides. First, `JXStatusBar` provides a hook for a pluggable look. There is a definite look associated with status bars on windows, for instance. By implementing a subclass of `JComponent`, we provide a way for the pluggable look and feel system to modify the look of the status bar.

Second, `JXStatusBar` comes with its own layout manager. Each item is added to the `JXStatusBar` with a `JXStatusBar.Constraint` as the constraint argument. The `JXStatusBar.Constraint` contains an `Insets` object, as well as a `ResizeBehavior`, which can be FIXED or FILL. The resize behaviour applies to the width of components. All components added will maintain there preferred height, and the height of the `JXStatusBar` will be the height of the highest component plus insets.

A constraint with `JXStatusBar.Constraint.ResizeBehavior.FIXED` will cause the component to occupy a fixed area on the `JXStatusBar`. The size of the area remains constant when the `JXStatusBar` is resized. A constraint with this behavior may also take a width value, see `JXStatusBar.Constraint.setFixedWidth(int)`. The width is a preferred minimum width. If the component preferred width is greater than the constraint width, the component width will apply.

All components with constraint `JXStatusBar.Constraint.ResizeBehavior.FILL` will share equally any spare space in the `JXStatusBar`. Spare space is that left over after allowing for all FIXED component and the preferred width of FILL components, plus insets

Constructing a `JXStatusBar` is very straightforward:

          JXStatusBar bar = new JXStatusBar();
          JLabel statusLabel = new JLabel("Ready");
          JXStatusBar.Constraint c1 = new JXStatusBar.Constraint()
          c1.setFixedWidth(100);
          bar.add(statusLabel, c1);     // Fixed width of 100 with no inserts
          JXStatusBar.Constraint c2 = new JXStatusBarConstraint(
                  JXStatusBar.Constraint.ResizeBehavior.FILL) // Fill with no inserts
          JProgressBar pbar = new JProgressBar();
          bar.add(pbar, c2);            // Fill with no inserts - will use remaining space

Two common use cases for status bars include tracking application status and progress. `JXStatusBar` does not manage these tasks, but instead special components exist or can be created that do manage these tasks. For example, if your application has a TaskManager or some other repository of currently running jobs, you could easily create a TaskManagerProgressBar that tracks those jobs. This component could then be added to the `JXStatusBar` like any other component.

## Client Properties

The BasicStatusBarUI.AUTO_ADD_SEPARATOR client property can be specified, which will disable the auto-adding of separators. In this case, you must add your own JSeparator components. To use:

          JXStatusBar sbar = new JXStatusBar();
          sbar.putClientProperty(BasicStatusBarUI.AUTO_ADD_SEPARATOR, false);
          sbar.add(comp1);
          sbar.add(new JSeparator(JSeparator.VERTICAL));
          sbar.add(comp2);
          sbar.add(comp3);

Author:
  pdoubleya, rbair, Karl George Schaefer
See Also:
  Serialized Form

Nested Class Summary
`static class` | `JXStatusBar.Constraint` The constraint object to be used with the `JXStatusBar`.

Nested classes/interfaces inherited from class javax.swing.JComponent
`javax.swing.JComponent.AccessibleJComponent`

Nested classes/interfaces inherited from class java.awt.Container
`java.awt.Container.AccessibleAWTContainer`

Nested classes/interfaces inherited from class java.awt.Component
`java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy`

Field Summary
`static java.lang.String` | `uiClassID`

Fields inherited from class javax.swing.JComponent
`accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW`

Fields inherited from class java.awt.Component
`BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

Fields inherited from interface java.awt.image.ImageObserver
`ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

Constructor Summary
`JXStatusBar()` Creates a new JXStatusBar

Method Summary
`StatusBarUI` | `getUI()` Returns the look and feel (L&F) object that renders this component.
`java.lang.String` | `getUIClassID()` Returns a string that specifies the name of the L&F class that renders this component.
`boolean` | `isResizeHandleEnabled()`
`void` | `setResizeHandleEnabled(boolean resizeHandleEnabled)`
`void` | `setUI(StatusBarUI ui)` Sets the look and feel (L&F) object that renders this component.
`void` | `updateUI()` Notification from the `UIManager` that the L&F has changed.

Methods inherited from class javax.swing.JComponent
`addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update`

Methods inherited from class java.awt.Container
`add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree`

Methods inherited from class java.awt.Component
`action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### uiClassID

    public static final java.lang.String uiClassID

See Also:
  `getUIClassID()`, `JComponent.readObject(java.io.ObjectInputStream)`, Constant Field Values

Constructor Detail

### JXStatusBar

    public JXStatusBar()

  Creates a new JXStatusBar

Method Detail

### setResizeHandleEnabled

    public void setResizeHandleEnabled(boolean resizeHandleEnabled)

  Parameters:
    `resizeHandleEnabled` - the resizeHandleEnabled to set

### isResizeHandleEnabled

    public boolean isResizeHandleEnabled()

  Returns:
    the resizeHandleEnabled

### getUI

    public StatusBarUI getUI()

  Returns the look and feel (L&F) object that renders this component.

  Returns:
    the StatusBarUI object that renders this component

### setUI

    public void setUI(StatusBarUI ui)

  Sets the look and feel (L&F) object that renders this component.

  Parameters:
    `ui` - the StatusBarUI L&F object
  See Also:
    `UIDefaults.getUI(javax.swing.JComponent)`

### getUIClassID

    public java.lang.String getUIClassID()

  Returns a string that specifies the name of the L&F class that renders this component.

  Overrides:
    `getUIClassID` in class `javax.swing.JComponent`
  Returns:
    "StatusBarUI"
  See Also:
    `JComponent.getUIClassID()`, `UIDefaults.getUI(javax.swing.JComponent)`

### updateUI

    public void updateUI()

  Notification from the `UIManager` that the L&F has changed. Replaces the current UI object with the latest version from the `UIManager`.

  Overrides:
    `updateUI` in class `javax.swing.JComponent`
  See Also:
    `JComponent.updateUI()`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2010. All Rights Reserved.