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;
}
}
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class JLabel
JLabel.AccessibleJLabelNested classes/interfaces inherited from class JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Timerprivate BusyPainterprivate intprivate BusyPainter.Directionprivate static final longstatic final StringUI Class IDprivate booleanStatus flag to save/restore status of timer when moving component between containers.Fields inherited from class JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTHFields inherited from interface 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 ofJXBusyLabelinitialized to circular shape in bounds of 26 by 26 points.JXBusyLabel(Dimension dim) Creates a new instance ofJXBusyLabelinitialized to the arbitrary size and using default circular progress indicator. -
Method Summary
Modifier and TypeMethodDescriptionvoidprotected BusyPainterCreate and return a BusyPpainter to use for the Label.protected voidfinal BusyPainterReturns the current BusyPainter.intgetDelay()Returns the name of the Linvalid input: '&F' class that renders this component.protected voidinitPainter(Dimension dim) Initialize the BusyPainter and (this) JXBusyLabel with the given preferred size.booleanisBusy()Gets whether thisJXBusyLabelis busy.voidvoidsetBusy(boolean busy) Sets whether thisJXBusyLabelinstance should consider itself busy.final voidsetBusyPainter(BusyPainter busyPainter) voidsetDelay(int delay) voidSets direction of rotation.private voidprivate voidvoidupdateUI()Notification from theUIManagerthat the Linvalid input: '&F' has changed.Methods inherited from class 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, setVerticalTextPositionMethods inherited from class 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, updateMethods inherited from class 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, validateTreeMethods inherited from class 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
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
busyPainter
-
busy
-
delay
private int delay -
wasBusyOnNotify
private boolean wasBusyOnNotifyStatus flag to save/restore status of timer when moving component between containers. -
uiClassID
-
direction
-
-
Constructor Details
-
JXBusyLabel
public JXBusyLabel()Creates a new instance ofJXBusyLabelinitialized to circular shape in bounds of 26 by 26 points. -
JXBusyLabel
Creates a new instance ofJXBusyLabelinitialized 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.RIGHTis the default value. Direction is taken from the very top point soDirection.RIGHTenables 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.- See Also:
-
isBusy
public boolean isBusy()Gets whether this
JXBusyLabelis busy. If busy, then theJXBusyLabelinstance 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
JXBusyLabelinstance should consider itself busy. A busy component may indicate that it is busy via animation, or some other means.- Parameters:
busy- whether thisJXBusyLabelinstance should consider itself busy
-
startAnimation
private void startAnimation() -
stopAnimation
private void stopAnimation() -
removeNotify
public void removeNotify()- Overrides:
removeNotifyin classJComponent
-
addNotify
public void addNotify()- Overrides:
addNotifyin classJComponent
-
frameChanged
protected void frameChanged() -
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
-
getUIClassID
Returns the name of the Linvalid input: '&F' class that renders this component.- Overrides:
getUIClassIDin classJLabel- Returns:
- the string
uiClassID - See Also:
-