public final class TLcdBingMapsLogoIcon extends Object implements ILcdIcon, ILcdChangeSource
TLcdBingMapsCopyrightIcon
).
//The Bing Maps terms of use require to display the icon and copyright information on the map
//Here we add them to the overlay component of an ILspAWTView
TLcdBingMapsLogoIcon logoIcon = new TLcdBingMapsLogoIcon(view);
view.getOverlayComponent().add(logoIcon.asComponent(), TLcdOverlayLayout.Location.NORTH_WEST);
TLspBingMapsCopyrightIcon copyrightIcon = new TLspBingMapsCopyrightIcon(view);
copyrightIcon.setAlignment(ELcdHorizontalAlignment.RIGHT);
view.getOverlayComponent().add(copyrightIcon.asComponent(), TLcdOverlayLayout.Location.NORTH_WEST);
Adding the logo and copyright icon to the overlay panel of an FX view:
TLcdBingMapsLogoIcon logoIcon = new TLcdBingMapsLogoIcon(view);
Node logoNode = new TLcdFXIcon(logoIcon);
TLspBingMapsCopyrightIcon copyrightIcon = new TLspBingMapsCopyrightIcon(view);
Node copyrightNode = new TLcdFXIcon(copyrightIcon);
FXUtil.findOverlayPane(view).ifPresent(overlayPane -> {
HBox box = new HBox(logoNode, copyrightNode);
overlayPane.add(box, TLcdOverlayPane.Location.SOUTH_WEST);
});
Constructor and Description |
---|
TLcdBingMapsLogoIcon(ILcdTreeLayered aView)
Create a new icon showing the Bing Maps logo when the view contains visible Bing Map layers.
|
Modifier and Type | Method and Description |
---|---|
void |
addChangeListener(ILcdChangeListener aListener)
Registers the given listener so it will receive change events from this source.
|
JComponent |
asComponent()
Returns a
JComponent representing this icon which can be added to a Swing container. |
Object |
clone()
Makes
Object.clone() public. |
int |
getIconHeight()
Returns the fixed height of the icon.
|
int |
getIconWidth()
Returns the fixed width of the icon.
|
void |
paintIcon(Component aComponent,
Graphics aGraphics,
int aX,
int aY)
Draw the
ILcdIcon at the specified location. |
void |
removeChangeListener(ILcdChangeListener aListener)
Removes the specified listener so it is no longer notified.
|
public TLcdBingMapsLogoIcon(ILcdTreeLayered aView)
aView
- The viewpublic void paintIcon(Component aComponent, Graphics aGraphics, int aX, int aY)
ILcdIcon
ILcdIcon
at the specified location. ILcdIcon
implementations
may use the Component
argument to get properties useful for
painting, e.g. the foreground or background color.paintIcon
in interface ILcdIcon
aComponent
- a Component to retrieve properties from.aGraphics
- the Graphics on which the icon will be painted.aX
- the x position where the icon will be painted. x is the first coordinate of the top left
corner point of the icon.aY
- the y position where the icon will be painted. y is the second coordinate of the top left
corner point of the icon.public int getIconWidth()
ILcdIcon
getIconWidth
in interface ILcdIcon
public int getIconHeight()
ILcdIcon
getIconHeight
in interface ILcdIcon
public void addChangeListener(ILcdChangeListener aListener)
ILcdChangeSource
Registers the given listener so it will receive change events from this source.
In case you need to register a listener which keeps a reference to an object with a shorter life-time than this change source,
you can use a ALcdWeakChangeListener
instance as change listener.
addChangeListener
in interface ILcdChangeSource
aListener
- The listener to be notified when a change has happened.ILcdChangeSource.removeChangeListener(ILcdChangeListener)
,
ALcdWeakChangeListener
public void removeChangeListener(ILcdChangeListener aListener)
ILcdChangeSource
removeChangeListener
in interface ILcdChangeSource
aListener
- The listener to remove.public JComponent asComponent()
Returns a JComponent
representing this icon which can be added to a Swing container.
The component will repaint itself each time the logo is updated.
Typically this component is added to the overlay panel of the view.
Example usage:
//The Bing Maps terms of use require to display the icon and copyright information on the map
//Here we add them to the overlay component of an ILspAWTView
TLcdBingMapsLogoIcon logoIcon = new TLcdBingMapsLogoIcon(view);
view.getOverlayComponent().add(logoIcon.asComponent(), TLcdOverlayLayout.Location.NORTH_WEST);
TLspBingMapsCopyrightIcon copyrightIcon = new TLspBingMapsCopyrightIcon(view);
copyrightIcon.setAlignment(ELcdHorizontalAlignment.RIGHT);
view.getOverlayComponent().add(copyrightIcon.asComponent(), TLcdOverlayLayout.Location.NORTH_WEST);
JComponent
representing this iconpublic Object clone()
ILcdCloneable
Makes Object.clone()
public.
java.lang.Object
, it can be implemented like this:
public Object clone() {
try {
return super.clone();
} catch ( CloneNotSupportedException e ) {
// Cannot happen: extends from Object and implements Cloneable (see also Object.clone)
throw new RuntimeException( e );
}
}
clone
in interface ILcdCloneable
clone
in class Object
Object.clone()