Icon Line : Icon « 2D Graphics GUI « Java






Icon Line

    
//   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<vImages.size(); i++)
    {
      Image image = (Image) vImages.get(i);

      g.drawImage(image, x +dx, y, c);
      dx += image.getWidth(c) +iSpace;
    }
  }
}

//

   
    
    
    
  








Related examples in the same category

1.Create a dynamic icon
2.A simple application to test the functionality of the OvalIcon classA simple application to test the functionality of the OvalIcon class
3.Icon DisplayerIcon Displayer
4.Implement the Icon interfaceImplement the Icon interface
5.Calendar Page icons with Weekday, Day and MonthCalendar Page icons with Weekday, Day and Month
6.MemImage is an in-memory icon showing a Color gradientMemImage is an in-memory icon showing a Color gradient
7.Example of an icon that changes formExample of an icon that changes form
8.Custom Icon DemoCustom Icon Demo
9.Create Image Icon from PNG file
10.Reading an Image or Icon from a File
11.Draw an Icon object
12.Plain Color Icon
13.Color Icon
14.Arrow Icon
15.Return a filled oval as an Icon
16.Layered Icon
17.An icon for painting a square swatch of a specified Color.
18.An empty icon with arbitrary width and height.
19.Transparent icon with no content
20.Creates a transparent icon.
21.Icon Codec