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:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
,javax.swing.SwingConstants
public class JXBusyLabel extends javax.swing.JLabel
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:
Another more complicated example:JXFrame frame = new JXFrame("test", true); JXBusyLabel label = new JXBusyLabel(); frame.add(label); //... label.setBusy(true);
Another 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);
where MyBusyLabel is:JXBusyLabel label = new MyBusyLabel(new Dimension(100, 84));
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:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
JXBusyLabel.Direction
Direction is used to set the initial direction in which the animation starts.-
Nested classes/interfaces inherited from class javax.swing.JLabel
javax.swing.JLabel.AccessibleJLabel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
uiClassID
UI Class ID-
Fields 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
-
-
Constructor Summary
Constructors Constructor Description JXBusyLabel()
Creates a new instance ofJXBusyLabel
initialized to circular shape in bounds of 26 by 26 points.JXBusyLabel(java.awt.Dimension dim)
Creates a new instance ofJXBusyLabel
initialized to the arbitrary size and using default circular progress indicator.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addNotify()
protected BusyPainter
createBusyPainter(java.awt.Dimension dim)
Create and return a BusyPpainter to use for the Label.protected void
frameChanged()
BusyPainter
getBusyPainter()
Returns the current BusyPainter.int
getDelay()
java.lang.String
getUIClassID()
Returns the name of the L&F class that renders this component.protected void
initPainter(java.awt.Dimension dim)
Initialize the BusyPainter and (this) JXBusyLabel with the given preferred size.boolean
isBusy()
Gets whether thisJXBusyLabel
is busy.void
removeNotify()
void
setBusy(boolean busy)
Sets whether thisJXBusyLabel
instance should consider itself busy.void
setBusyPainter(BusyPainter busyPainter)
void
setDelay(int delay)
void
setDirection(JXBusyLabel.Direction dir)
Sets direction of rotation.void
updateUI()
Notification from theUIManager
that the L&F 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 Detail
-
uiClassID
public static final java.lang.String uiClassID
UI Class ID- See Also:
- Constant Field Values
-
-
Constructor Detail
-
JXBusyLabel
public JXBusyLabel()
Creates a new instance ofJXBusyLabel
initialized to circular shape in bounds of 26 by 26 points.
-
JXBusyLabel
public JXBusyLabel(java.awt.Dimension dim)
Creates a new instance ofJXBusyLabel
initialized to the arbitrary size and using default circular progress indicator.- Parameters:
dim
- Preferred size of the label.
-
-
Method Detail
-
setDirection
public void setDirection(JXBusyLabel.Direction dir)
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
protected void initPainter(java.awt.Dimension dim)
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:
getBusyPainter()
,setBusyPainter(BusyPainter)
-
createBusyPainter
protected BusyPainter createBusyPainter(java.awt.Dimension dim)
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:
JLabel.getUI()
-
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 classjavax.swing.JComponent
-
addNotify
public void addNotify()
- Overrides:
addNotify
in classjavax.swing.JComponent
-
frameChanged
protected void frameChanged()
-
getBusyPainter
public final BusyPainter 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:
createBusyPainter(Dimension)
,initPainter(Dimension)
-
setBusyPainter
public final void setBusyPainter(BusyPainter busyPainter)
- 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 L&F has changed. Replaces the current UI object with the latest version from theUIManager
.- Overrides:
updateUI
in classjavax.swing.JLabel
- See Also:
JComponent.updateUI()
-
getUIClassID
public java.lang.String getUIClassID()
Returns the name of the L&F class that renders this component.- Overrides:
getUIClassID
in classjavax.swing.JLabel
- Returns:
- the string
uiClassID
- See Also:
JComponent.getUIClassID()
,UIDefaults.getUI(javax.swing.JComponent)
-
-