Package org.jdesktop.swingx
Class JXBusyLabel
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JLabel
org.jdesktop.swingx.JXBusyLabel
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Accessible
,SwingConstants
A simple circular animation, useful for denoting an action is taking place that may take an unknown length of time to complete. Similar to an indeterminant JProgressBar, but with a different look.
For example:
JXFrame frame = new JXFrame("test", true);
JXBusyLabel label = new JXBusyLabel();
frame.add(label);
//...
label.setBusy(true);
Another more complicated example:
JXBusyLabel label = new JXBusyLabel(new Dimension(100,84));
BusyPainter painter = new BusyPainter(
new Rectangle2D.Float(0, 0,13.500001f,1),
new RoundRectangle2D.Float(12.5f,12.5f,59.0f,59.0f,10,10));
painter.setTrailLength(5);
painter.setPoints(31);
painter.setFrame(1);
label.setPreferredSize(new Dimension(100,84));
label.setIcon(new EmptyIcon(100,84));
label.setBusyPainter(painter);
Another example:
JXBusyLabel label = new MyBusyLabel(new Dimension(100, 84));
where MyBusyLabel is:
public class MyBusyLabel extends JXBusyLabel {
public MyBusyLabel(Dimension prefSize) {
super(prefSize);
}
protected BusyLabel createBusyLabel(Dimension dim) {
BusyPainter painter = new BusyPainter(
new Rectangle2D.Float(0, 0,13.500001f,1),
new RoundRectangle2D.Float(12.5f,12.5f,59.0f,59.0f,10,10));
painter.setTrailLength(5);
painter.setPoints(31);
painter.setFrame(1);
return painter;
}
}
- Author:
- rbair, joshy, rah003, headw01
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JLabel
JLabel.AccessibleJLabel
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.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
FieldsFields inherited from class javax.swing.JComponent
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
accessibleContext, 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
Fields inherited from interface javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
-
Constructor Summary
ConstructorsConstructorDescriptionCreates a new instance ofJXBusyLabel
initialized to circular shape in bounds of 26 by 26 points.JXBusyLabel
(Dimension dim) Creates a new instance ofJXBusyLabel
initialized to the arbitrary size and using default circular progress indicator. -
Method Summary
Modifier and TypeMethodDescriptionvoid
protected BusyPainter
Create and return a BusyPpainter to use for the Label.protected void
repaintfinal BusyPainter
Returns the current BusyPainter.int
getDelay()
Returns the name of the LaF class that renders this component.protected void
initPainter
(Dimension dim) Initialize the BusyPainter and (this) JXBusyLabel with the given preferred size.boolean
isBusy()
Gets whether thisJXBusyLabel
is busy.void
void
setBusy
(boolean busy) Sets whether thisJXBusyLabel
instance should consider itself busy.final void
setBusyPainter
(BusyPainter busyPainter) void
setDelay
(int delay) void
Sets direction of rotation.void
updateUI()
Notification from theUIManager
that the LaF has changed.Methods inherited from class javax.swing.JLabel
checkHorizontalKey, checkVerticalKey, getAccessibleContext, getDisabledIcon, getDisplayedMnemonic, getDisplayedMnemonicIndex, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getIconTextGap, getLabelFor, getText, getUI, getVerticalAlignment, getVerticalTextPosition, imageUpdate, paramString, setDisabledIcon, setDisplayedMnemonic, setDisplayedMnemonic, setDisplayedMnemonicIndex, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setIconTextGap, setLabelFor, setText, setUI, setVerticalAlignment, setVerticalTextPosition
Methods inherited from class javax.swing.JComponent
addAncestorListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, 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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, 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, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Field Details
-
uiClassID
UI Class ID- See Also:
-
-
Constructor Details
-
JXBusyLabel
public JXBusyLabel()Creates a new instance ofJXBusyLabel
initialized to circular shape in bounds of 26 by 26 points. -
JXBusyLabel
Creates a new instance ofJXBusyLabel
initialized to the arbitrary size and using default circular progress indicator.- Parameters:
dim
- Preferred size of the label.
-
-
Method Details
-
setDirection
Sets direction of rotation.Direction.RIGHT
is the default value. Direction is taken from the very top point soDirection.RIGHT
enables rotation clockwise.- Parameters:
dir
- Direction of rotation.
-
initPainter
Initialize the BusyPainter and (this) JXBusyLabel with the given preferred size. This method is called automatically when the BusyPainter is set/changed.- Parameters:
dim
- The new Preferred Size for the BusyLabel.- See Also:
-
createBusyPainter
Create and return a BusyPpainter to use for the Label. This may be overridden to return any painter you like. By default, this method uses the UI (BusyLabelUI) to create a BusyPainter.- Parameters:
dim
- Painter size.- Returns:
- BusyPainter
- See Also:
-
isBusy
public boolean isBusy()Gets whether this
JXBusyLabel
is busy. If busy, then theJXBusyLabel
instance will indicate that it is busy, generally by animating some state.- Returns:
- true if this instance is busy
-
setBusy
public void setBusy(boolean busy) Sets whether this
JXBusyLabel
instance should consider itself busy. A busy component may indicate that it is busy via animation, or some other means.- Parameters:
busy
- whether thisJXBusyLabel
instance should consider itself busy
-
removeNotify
public void removeNotify()- Overrides:
removeNotify
in classJComponent
-
addNotify
public void addNotify()- Overrides:
addNotify
in classJComponent
-
frameChanged
protected void frameChanged()repaint -
getBusyPainter
Returns the current BusyPainter. If no BusyPainter is currently set on this BusyLabel, thecreateBusyPainter(Dimension)
method is called to create one. Afterwards,initPainter(Dimension)
is called to update the BusyLabel with the created BusyPainter.- Returns:
- the busyPainter
- See Also:
-
setBusyPainter
- Parameters:
busyPainter
- the busyPainter to set
-
getDelay
public int getDelay()- Returns:
- the delay
-
setDelay
public void setDelay(int delay) - Parameters:
delay
- the delay to set
-
updateUI
public void updateUI()Notification from theUIManager
that the LaF has changed. Replaces the current UI object with the latest version from theUIManager
. -
getUIClassID
Returns the name of the LaF class that renders this component.- Overrides:
getUIClassID
in classJLabel
- Returns:
- the string
uiClassID
- See Also:
-