2D Graphics GUI Java

//   IconLine
//   Copyright (C) by Andrea Carboni.
//   This file may be distributed under the terms of the LGPL license.
//
import java.awt.Component;
import java.awt.Graphics;
import java.awt.Image;
import java.util.Vector;
import javax.swing.Icon;
//
public class IconLine implements Icon
{
  private int    iWidth  = 0;
  private int    iHeight = 0;
  private int    iSpace  = 1;
  private Vector vImages = new Vector();
  //---------------------------------------------------------------------------
  //---
  //--- Constructor
  //---
  //---------------------------------------------------------------------------
  public IconLine() {}
  //---------------------------------------------------------------------------
  public IconLine(int space)
  {
    iSpace = space;
  }
  //---------------------------------------------------------------------------
  //---
  //--- Constructor
  //---
  //---------------------------------------------------------------------------
  public void addImage(Image image)
  {
    vImages.add(image);
    iWidth  = iWidth + image.getWidth(null);
    iHeight = image.getHeight(null);
  }
  //---------------------------------------------------------------------------
  public void setImage(int index, Image image)
  {
    vImages.set(index, image);
    iHeight = image.getHeight(null);
  }
  //---------------------------------------------------------------------------
  //---
  //--- Icon interface methods
  //---
  //---------------------------------------------------------------------------
  public int getIconWidth()
  {
    return iWidth;
  }
  //---------------------------------------------------------------------------
  public int getIconHeight()
  {
    return iHeight;
  }
  //---------------------------------------------------------------------------
  public void paintIcon(Component c, Graphics g, int x, int y)
  {
    int dx = 0;
    for(int i=0; i    {
      Image image = (Image) vImages.get(i);
      g.drawImage(image, x +dx, y, c);
      dx += image.getWidth(c) +iSpace;
    }
  }
}
//