public class JXBusyLabel extends 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:
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;
}
}
JLabel.AccessibleJLabel
JComponent.AccessibleJComponent
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Modifier and Type | Field and Description |
---|---|
private Timer |
busy |
private BusyPainter |
busyPainter |
private int |
delay |
private BusyPainter.Direction |
direction |
private static long |
serialVersionUID |
static String |
uiClassID
UI Class ID
|
private boolean |
wasBusyOnNotify
Status flag to save/restore status of timer when moving component between containers.
|
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Constructor and Description |
---|
JXBusyLabel()
Creates a new instance of
JXBusyLabel initialized to circular shape in bounds of 26 by 26 points. |
JXBusyLabel(Dimension dim)
Creates a new instance of
JXBusyLabel initialized to the arbitrary size and using default circular progress indicator. |
Modifier and Type | Method and Description |
---|---|
void |
addNotify() |
protected BusyPainter |
createBusyPainter(Dimension dim)
Create and return a BusyPpainter to use for the Label.
|
protected void |
frameChanged() |
BusyPainter |
getBusyPainter()
Returns the current BusyPainter.
|
int |
getDelay() |
String |
getUIClassID()
Returns the name of the L&F 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 this
JXBusyLabel is busy. |
void |
removeNotify() |
void |
setBusy(boolean busy)
Sets whether this
JXBusyLabel instance should consider
itself busy. |
void |
setBusyPainter(BusyPainter busyPainter) |
void |
setDelay(int delay) |
void |
setDirection(BusyPainter.Direction dir)
Sets direction of rotation.
|
private void |
startAnimation() |
private void |
stopAnimation() |
void |
updateUI()
Notification from the
UIManager that the L&F has changed. |
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
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
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
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, 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, transferFocusBackward, transferFocusUpCycle
private static final long serialVersionUID
private BusyPainter busyPainter
private int delay
private boolean wasBusyOnNotify
public static final String uiClassID
private BusyPainter.Direction direction
public JXBusyLabel()
JXBusyLabel
initialized to circular shape in bounds of 26 by 26 points.public JXBusyLabel(Dimension dim)
JXBusyLabel
initialized to the arbitrary size and using default circular progress indicator.dim
- Preferred size of the label.public void setDirection(BusyPainter.Direction dir)
Direction.RIGHT
is the default
value. Direction is taken from the very top point so Direction.RIGHT
enables rotation clockwise.dir
- Direction of rotation.protected void initPainter(Dimension dim)
dim
- The new Preferred Size for the BusyLabel.getBusyPainter()
,
setBusyPainter(BusyPainter)
protected BusyPainter createBusyPainter(Dimension dim)
dim
- Painter size.JLabel.getUI()
public boolean isBusy()
Gets whether this JXBusyLabel
is busy. If busy, then
the JXBusyLabel
instance will indicate that it is busy,
generally by animating some state.
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.
busy
- whether this JXBusyLabel
instance should
consider itself busyprivate void startAnimation()
private void stopAnimation()
public void removeNotify()
removeNotify
in class JComponent
public void addNotify()
addNotify
in class JComponent
protected void frameChanged()
public final BusyPainter getBusyPainter()
createBusyPainter(Dimension)
method is called to create one. Afterwards,
initPainter(Dimension)
is called to update the BusyLabel
with the created BusyPainter.createBusyPainter(Dimension)
,
initPainter(Dimension)
public final void setBusyPainter(BusyPainter busyPainter)
busyPainter
- the busyPainter to setpublic int getDelay()
public void setDelay(int delay)
delay
- the delay to setpublic void updateUI()
UIManager
that the L&F has changed.
Replaces the current UI object with the latest version from the
UIManager
.updateUI
in class JLabel
JComponent.updateUI()
public String getUIClassID()
getUIClassID
in class JLabel
uiClassID
JComponent.getUIClassID()
,
UIDefaults.getUI(javax.swing.JComponent)
WebARTS Library Licensed Under the GNU - General Public License. Other Libraries licensed under their respective Open Source Licenses