view.system

## Class CompoundIcon

- java.lang.Object
- - view.system.CompoundIcon

All Implemented Interfaces:
  javax.swing.Icon

    public class CompoundIcon
    extends java.lang.Object
    implements javax.swing.Icon

The CompoundIcon will paint two, or more, Icons as a single Icon. The Icons are painted in the order in which they are added. The Icons are layed out on the specified axis:

- X-Axis (horizontally)
- Y-Axis (vertically)
- Z-Axis (stacked)

### Nested Class Summary

Nested Classes
`static class` `CompoundIcon.Axis` The Enum Axis.

### Field Summary

Fields
`static float` `BOTTOM` The Constant BOTTOM.
`static float` `CENTER` The Constant CENTER.
`static float` `LEFT` The Constant LEFT.
`static float` `RIGHT` The Constant RIGHT.
`static float` `TOP` The Constant TOP.

### Constructor Summary

Constructors
Constructor and Description
`CompoundIcon(CompoundIcon.Axis axis, javax.swing.Icon... icons)` Convenience contructor for creating a CompoundIcon where the gap is 0 and the X/Y alignments will default to CENTER.
`CompoundIcon(CompoundIcon.Axis axis, int gap, float alignmentX, float alignmentY, javax.swing.Icon... icons)` Create a CompoundIcon specifying all the properties.
`CompoundIcon(CompoundIcon.Axis axis, int gap, javax.swing.Icon... icons)` Convenience contructor for creating a CompoundIcon where the X/Y alignments will default to CENTER.
`CompoundIcon(javax.swing.Icon... icons)` Convenience contructor for creating a CompoundIcon where the icons are layed out on on the X-AXIS, the gap is 0 and the X/Y alignments will default to CENTER.

### Method Summary

All Methods Instance Methods Concrete Methods
`float` `getAlignmentX()` Get the alignment of the icon on the x-axis.
`float` `getAlignmentY()` Get the alignment of the icon on the y-axis.
`CompoundIcon.Axis` `getAxis()` Get the Axis along which each icon is painted.
`int` `getGap()` Get the gap between each icon.
`javax.swing.Icon` `getIcon(int index)` Get the Icon at the specified index.
`int` `getIconCount()` Get the number of Icons contained in this CompoundIcon.
`int` `getIconHeight()` Gets the height of this icon.
`int` `getIconWidth()` Gets the width of this icon.
`void` `paintIcon(java.awt.Component c, java.awt.Graphics g, int x, int y)` Paint the icons of this compound icon at the specified location.

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### TOP

    public static final float TOP

The Constant TOP.

See Also:
  Constant Field Values

#### LEFT

    public static final float LEFT

The Constant LEFT.

See Also:
  Constant Field Values

#### CENTER

    public static final float CENTER

The Constant CENTER.

See Also:
  Constant Field Values

#### BOTTOM

    public static final float BOTTOM

The Constant BOTTOM.

See Also:
  Constant Field Values

#### RIGHT

    public static final float RIGHT

The Constant RIGHT.

See Also:
  Constant Field Values

### Constructor Detail

#### CompoundIcon

    public CompoundIcon(javax.swing.Icon... icons)

Convenience contructor for creating a CompoundIcon where the icons are layed out on on the X-AXIS, the gap is 0 and the X/Y alignments will default to CENTER.

Parameters:
  `icons` - the Icons to be painted as part of the CompoundIcon

#### CompoundIcon

    public CompoundIcon(CompoundIcon.Axis axis,
                        javax.swing.Icon... icons)

Convenience contructor for creating a CompoundIcon where the gap is 0 and the X/Y alignments will default to CENTER.

Parameters:
  `axis` - the axis used to lay out the icons for painting. Must be one of the Axis enums: X_AXIS, Y_AXIS, Z_Axis.
  `icons` - the Icons to be painted as part of the CompoundIcon

#### CompoundIcon

    public CompoundIcon(CompoundIcon.Axis axis,
                        int gap,
                        javax.swing.Icon... icons)

Convenience contructor for creating a CompoundIcon where the X/Y alignments will default to CENTER.

Parameters:
  `axis` - the axis used to lay out the icons for painting Must be one of the Axis enums: X_AXIS, Y_AXIS, Z_Axis.
  `gap` - the gap between the icons
  `icons` - the Icons to be painted as part of the CompoundIcon

#### CompoundIcon

    public CompoundIcon(CompoundIcon.Axis axis,
                        int gap,
                        float alignmentX,
                        float alignmentY,
                        javax.swing.Icon... icons)

Create a CompoundIcon specifying all the properties.

Parameters:
  `axis` - the axis used to lay out the icons for painting Must be one of the Axis enums: X_AXIS, Y_AXIS, Z_Axis.
  `gap` - the gap between the icons
  `alignmentX` - the X alignment of the icons. Common values are LEFT, CENTER, RIGHT. Can be any value between 0.0 and 1.0
  `alignmentY` - the Y alignment of the icons. Common values are TOP, CENTER, BOTTOM. Can be any value between 0.0 and 1.0
  `icons` - the Icons to be painted as part of the CompoundIcon

### Method Detail

#### getAxis

    public CompoundIcon.Axis getAxis()

Get the Axis along which each icon is painted.

Returns:
  the Axis

#### getGap

    public int getGap()

Get the gap between each icon.

Returns:
  the gap in pixels

#### getAlignmentX

    public float getAlignmentX()

Get the alignment of the icon on the x-axis.

Returns:
  the alignment

#### getAlignmentY

    public float getAlignmentY()

Get the alignment of the icon on the y-axis.

Returns:
  the alignment

#### getIconCount

    public int getIconCount()

Get the number of Icons contained in this CompoundIcon.

Returns:
  the total number of Icons

#### getIcon

    public javax.swing.Icon getIcon(int index)

Get the Icon at the specified index.

Parameters:
  `index` - the index of the Icon to be returned
Returns:
  the Icon at the specifed index
Throws:
  `java.lang.IndexOutOfBoundsException` - if the index is out of range

#### getIconWidth

    public int getIconWidth()

Gets the width of this icon.

Specified by:
  `getIconWidth` in interface `javax.swing.Icon`
Returns:
  the width of the icon in pixels.

#### getIconHeight

    public int getIconHeight()

Gets the height of this icon.

Specified by:
  `getIconHeight` in interface `javax.swing.Icon`
Returns:
  the height of the icon in pixels.

#### paintIcon

    public void paintIcon(java.awt.Component c,
                          java.awt.Graphics g,
                          int x,
                          int y)

Paint the icons of this compound icon at the specified location.

Specified by:
  `paintIcon` in interface `javax.swing.Icon`
Parameters:
  `c` - The component on which the icon is painted
  `g` - the graphics context
  `x` - the X coordinate of the icon's top-left corner
  `y` - the Y coordinate of the icon's top-left corner