//
//
// 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);
}
}
|