org.jdesktop.swingx
Class JXStatusBar
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
org.jdesktop.swingx.JXPanel
org.jdesktop.swingx.JXStatusBar
- All Implemented Interfaces:
- ImageObserver, MenuContainer, Serializable, Accessible, Scrollable
public class JXStatusBar
- extends JXPanel
A container for JComponent
s 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 (reasons why we created it
in the first place). 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 concrete subclass of JXPanel, we provide a way for the
pluggable look and feel system to modify the look of the status bar automatically.
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 "weight". The weight
is used the same as the GridBagLayout.
Finally, JXStatusBar contains a built in JPopupMenu. This menu allows the
user to hide/show any of the items on the status bar. It also may optionally
contain an "add..." action that will allow the user to select from a handful
of prepacked beans that can be placed on the status bar.
Constructing a JXStatusBar is very straitforward:
JXStatusBar bar = new JXStatusBar();
JLabel statusLabel = new JLabel("Ready");
bar.add(statusLabel, new JXStatusBar.Constraints(1.0); //weight of 0.0 and no insets
JProgressBar pbar = new JProgressBar();
bar.add(pbar); //weight of 0.0 and no insets
Two common use cases for status bars is 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 instance, if you 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.
- See Also:
- Serialized Form
Method Summary |
void |
addSeparator()
|
StatusBarUI |
getUI()
Returns the look and feel (L&F) object that renders this component. |
String |
getUIClassID()
Returns a string that specifies the name of the L&F class that renders
this component. |
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 org.jdesktop.swingx.JXPanel |
getAlpha, getBackgroundPainter, getEffectiveAlpha, getGradientPaint, getPreferredScrollableViewportSize, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, isDrawGradient, isGradientTrackHeight, isGradientTrackWidth, isInheritAlpha, paint, paintComponent, setAlpha, setBackgroundPainter, setDrawGradient, setGradientPaint, setGradientTrackHeight, setGradientTrackWidth, setInheritAlpha, setScrollableTracksViewportHeight, setScrollableTracksViewportWidth |
Methods inherited from class javax.swing.JComponent |
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, 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, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintImmediately, paintImmediately, 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 |
uiClassID
public static final String uiClassID
- See Also:
// *
,
JComponent.readObject(java.io.ObjectInputStream)
,
Constant Field Values
JXStatusBar
public JXStatusBar()
getUI
public StatusBarUI getUI()
- Returns the look and feel (L&F) object that renders this component.
- Overrides:
getUI
in class JPanel
- 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 String getUIClassID()
- Returns a string that specifies the name of the L&F class that renders
this component.
- Overrides:
getUIClassID
in class JPanel
- 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 JPanel
- See Also:
JComponent.updateUI()
addSeparator
public void addSeparator()