|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
org.jdesktop.swingx.JXStatusBar
public class JXStatusBar
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 JXStatusBarConstraint()
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.
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);
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 |
---|
JComponent.AccessibleJComponent |
Nested classes/interfaces inherited from class java.awt.Container |
---|
Container.AccessibleAWTContainer |
Nested classes/interfaces inherited from class java.awt.Component |
---|
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy |
Field Summary | |
---|---|
static 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. |
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 java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final String uiClassID
getUIClassID()
,
JComponent.readObject(java.io.ObjectInputStream)
,
Constant Field ValuesConstructor Detail |
---|
public JXStatusBar()
Method Detail |
---|
public void setResizeHandleEnabled(boolean resizeHandleEnabled)
resizeHandleEnabled
- the resizeHandleEnabled to setpublic boolean isResizeHandleEnabled()
public StatusBarUI getUI()
public void setUI(StatusBarUI ui)
ui
- the StatusBarUI L&F objectUIDefaults.getUI(javax.swing.JComponent)
public String getUIClassID()
getUIClassID
in class JComponent
JComponent.getUIClassID()
,
UIDefaults.getUI(javax.swing.JComponent)
public void updateUI()
UIManager
that the L&F has changed.
Replaces the current UI object with the latest version from the
UIManager
.
updateUI
in class JComponent
JComponent.updateUI()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |