ResistorIcon.javaimport java.awt.*;
import java.awt.geom.*;
import javax.swing.*;
/**
An icon that has the shape of a resistor.
*/
public class ResistorIcon implements Icon
{
/**
Constructs a resistor of a given width.
@param width the width of the car
*/
public ResistorIcon(int aWidth)
{
width = aWidth;
}
public int getIconWidth()
{
return width;
}
public int getIconHeight()
{
return width / 2;
}
public void paintIcon(Component c, Graphics g, int x, int y)
{
Graphics2D g2 = (Graphics2D) g;
double w = 2.5/7.0;
double h = 1.25;
Path2D.Double path = new Path2D.Double(Path2D.WIND_NON_ZERO,10);
path.moveTo(-7*w,0);
path.lineTo(-6*w,0);
path.lineTo(-5*w,h);
path.lineTo(-3*w,-h);
path.lineTo(-w,h);
path.lineTo(w,-h);
path.lineTo(3*w,h);
path.lineTo(5*w,-h);
path.lineTo(6*w,0);
path.lineTo(7*w,0);
AffineTransform m = g2.getTransform();
g2.translate(x,y);
g2.scale(width/7,width/7);
g2.translate(2.5,2.2);
BasicStroke pen = new BasicStroke(0.2f,
BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND);
g2.setStroke(pen);
g2.setColor(Color.red);
g2.draw(path);
g2.setTransform(m);
/*
int i;
for (i=0; i<npts; i++) {
pts[i].scale(0.1).translate(loc);
point2::convert(pts[i],cpts[i]);
}
*/
}
private int width;
public static void main(String[] args)
{
JOptionPane.showMessageDialog(
null,
"Sample Resistor",
"Message",
JOptionPane.INFORMATION_MESSAGE,
new ResistorIcon(120));
System.exit(0);
}
}
Maintained by John Loomis, updated Fri Feb 23 16:55:34 2007