Class DecoratedResizableIcon
- java.lang.Object
-
- org.pushingpixels.flamingo.api.common.icon.DecoratedResizableIcon
-
- All Implemented Interfaces:
Icon
,AsynchronousLoading
,ResizableIcon
public class DecoratedResizableIcon extends Object implements ResizableIcon, AsynchronousLoading
Implementation ofResizableIcon
that adds decorations to a main icon.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
DecoratedResizableIcon.IconDecorator
Icon decorator interface.
-
Field Summary
Fields Modifier and Type Field Description protected List<DecoratedResizableIcon.IconDecorator>
decorators
List of icon decorators.protected ResizableIcon
delegate
The main delegate icon.
-
Constructor Summary
Constructors Constructor Description DecoratedResizableIcon(ResizableIcon delegate)
Creates a new decorated icon with no decorators.DecoratedResizableIcon(ResizableIcon delegate, DecoratedResizableIcon.IconDecorator... decorators)
Creates a new decorated icon.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addAsynchronousLoadListener(AsynchronousLoadListener l)
Adds listener on the asynchronous loading events.void
addIconDecorator(DecoratedResizableIcon.IconDecorator decorator)
Adds the specified decorator to the end of the decorator sequence.int
getIconHeight()
int
getIconWidth()
boolean
isLoading()
Returns indication whether the content is still loading.void
paintIcon(Component c, Graphics g, int x, int y)
void
removeAsynchronousLoadListener(AsynchronousLoadListener l)
Removes listener on the asynchronous loading events.void
removeIconDecorator(DecoratedResizableIcon.IconDecorator decorator)
Removes the specified decorator.void
setDimension(Dimension newDimension)
Changes the dimension ofthis
icon.
-
-
-
Field Detail
-
delegate
protected ResizableIcon delegate
The main delegate icon.
-
decorators
protected List<DecoratedResizableIcon.IconDecorator> decorators
List of icon decorators.
-
-
Constructor Detail
-
DecoratedResizableIcon
public DecoratedResizableIcon(ResizableIcon delegate, DecoratedResizableIcon.IconDecorator... decorators)
Creates a new decorated icon.- Parameters:
delegate
- The main icon.decorators
- Icon decorators.
-
DecoratedResizableIcon
public DecoratedResizableIcon(ResizableIcon delegate)
Creates a new decorated icon with no decorators. Decorators can be added later withaddIconDecorator(IconDecorator)
.- Parameters:
delegate
- Main icon.
-
-
Method Detail
-
getIconHeight
public int getIconHeight()
- Specified by:
getIconHeight
in interfaceIcon
-
getIconWidth
public int getIconWidth()
- Specified by:
getIconWidth
in interfaceIcon
-
setDimension
public void setDimension(Dimension newDimension)
Description copied from interface:ResizableIcon
Changes the dimension ofthis
icon.- Specified by:
setDimension
in interfaceResizableIcon
- Parameters:
newDimension
- New dimension forthis
icon.
-
addIconDecorator
public void addIconDecorator(DecoratedResizableIcon.IconDecorator decorator)
Adds the specified decorator to the end of the decorator sequence. If the specified decorator already exists, it is not moved to the end of the sequence.- Parameters:
decorator
- Decorator to add.
-
removeIconDecorator
public void removeIconDecorator(DecoratedResizableIcon.IconDecorator decorator)
Removes the specified decorator.- Parameters:
decorator
- Decorator to remove.
-
addAsynchronousLoadListener
public void addAsynchronousLoadListener(AsynchronousLoadListener l)
Description copied from interface:AsynchronousLoading
Adds listener on the asynchronous loading events.- Specified by:
addAsynchronousLoadListener
in interfaceAsynchronousLoading
- Parameters:
l
- Listener to add.
-
removeAsynchronousLoadListener
public void removeAsynchronousLoadListener(AsynchronousLoadListener l)
Description copied from interface:AsynchronousLoading
Removes listener on the asynchronous loading events.- Specified by:
removeAsynchronousLoadListener
in interfaceAsynchronousLoading
- Parameters:
l
- Listener to remove.
-
isLoading
public boolean isLoading()
Description copied from interface:AsynchronousLoading
Returns indication whether the content is still loading.- Specified by:
isLoading
in interfaceAsynchronousLoading
- Returns:
true
if the content is still loading,false
otherwise.
-
-