Color Icon : Icon « 2D Graphics GUI « Java






Color Icon

    
//
//
//   ColorIcon
//
//   Copyright (C) by Andrea Carboni.
//   This file may be distributed under the terms of the LGPL license.
//


import java.awt.Color;
import java.awt.Component;
import java.awt.Graphics;
import java.awt.Insets;

import javax.swing.Icon;

//

public class ColorIcon implements Icon
{
  private int iWidth;
  private int iHeight;

  private Color  color;
  private Color  border;
  private Insets insets;

  //---------------------------------------------------------------------------

  public ColorIcon()
  {
    this(32, 16);
  }

  //---------------------------------------------------------------------------

  public ColorIcon(int width, int height)
  {
    this(width, height, Color.black);
  }

  //---------------------------------------------------------------------------

  public ColorIcon(int width, int height, Color c)
  {
    iWidth  = width;
    iHeight = height;

    color   = c;
    border  = Color.black;
    insets  = new Insets(1,1,1,1);
  }

  //---------------------------------------------------------------------------

  public void setColor(Color c)
  {
    color = c;
  }

  //---------------------------------------------------------------------------

  public Color getColor()
  {
    return color;
  }

  //---------------------------------------------------------------------------

  public void setBorderColor(Color c)
  {
    border = c;
  }

  //---------------------------------------------------------------------------
  //---
  //--- Icon interface methods
  //---
  //---------------------------------------------------------------------------

  public int getIconWidth()
  {
    return iWidth;
  }

  //---------------------------------------------------------------------------

  public int getIconHeight()
  {
    return iHeight;
  }

  //---------------------------------------------------------------------------

  public void paintIcon(Component c, Graphics g, int x, int y)
  {
    g.setColor(border);
    g.drawRect(x,y,iWidth-1, iHeight-2);

    x += insets.left;
    y += insets.top;

    int w = iWidth  - insets.left - insets.right;
    int h = iHeight - insets.top  - insets.bottom -1;

    g.setColor(color);
    g.fillRect(x,y, w,h);
  }
}

   
    
    
    
  








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.Arrow Icon
14.Icon Line
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