Class CompoundIcon

  • All Implemented Interfaces:
    Icon

    public class CompoundIcon
    extends Object
    implements 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 can be laid out
    • Horizontally
    • Vertically
    • Stacked
    • Constructor Detail

      • CompoundIcon

        public CompoundIcon​(Icon... icons)
        Convenience constructor for creating a CompoundIcon where the icons are laid out horizontally, 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.Layout layout,
                            Icon... icons)
        Convenience constructor for creating a CompoundIcon where the gap is 0 and the X/Y alignments will default to CENTER.
        Parameters:
        layout - the layout used to lay out the icons for painting.
        icons - the Icons to be painted as part of the CompoundIcon
      • CompoundIcon

        public CompoundIcon​(CompoundIcon.Layout layout,
                            int gap,
                            Icon... icons)
        Convenience constructor for creating a CompoundIcon where the X/Y alignments will default to CENTER.
        Parameters:
        layout - the layout used to lay out the icons for painting
        gap - the gap between the icons
        icons - the Icons to be painted as part of the CompoundIcon
      • CompoundIcon

        public CompoundIcon​(CompoundIcon.Layout layout,
                            int gap,
                            float alignmentX,
                            float alignmentY,
                            Icon... icons)
        Create a CompoundIcon specifying all the properties.
        Parameters:
        layout - the layout used to lay out the icons for painting
        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

      • getLayout

        public CompoundIcon.Layout getLayout()
        Get the layout along which each icon is painted.
        Returns:
        the layout
      • 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-layout
        Returns:
        the alignment
      • getAlignmentY

        public float getAlignmentY()
        Get the alignment of the icon on the y-layout
        Returns:
        the alignment
      • getIconCount

        public int getIconCount()
        Get the number of Icons contained in this CompoundIcon.
        Returns:
        the total number of Icons
      • getIcon

        public 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 specified index
        Throws:
        IndexOutOfBoundsException - if the index is out of range
      • getIconWidth

        public int getIconWidth()
        Gets the width of this icon.
        Specified by:
        getIconWidth in interface Icon
        Returns:
        the width of the icon in pixels.
      • getIconHeight

        public int getIconHeight()
        Gets the height of this icon.
        Specified by:
        getIconHeight in interface Icon
        Returns:
        the height of the icon in pixels.
      • paintIcon

        public void paintIcon​(Component c,
                              Graphics g,
                              int x,
                              int y)
        Paint the icons of this compound icon at the specified location
        Specified by:
        paintIcon in interface 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