Capacitor.java

// Capacitor.java
import java.awt.*;
import java.awt.geom.*;


public class Capacitor
{
    double value;
    Color color;
    double angle, phi;
    double xpos, ypos;

    Capacitor()
    {
	color = Color.RED;
	xpos = 0.0;
	ypos = 0.0;
	setAngle(0.0);
	
    }
    void setAngle(double angle)
    {
	this.angle = angle;
	phi = angle*Math.PI/180.0;
    }
    public void draw(Graphics g)
    {
	int i;
	double u;
	Graphics2D g2 = (Graphics2D) g;
	AffineTransform saveXform = g2.getTransform();
	g2.translate(xpos,ypos);
	g2.rotate(phi);
	Paint savePaint = g2.getPaint();
	g2.setPaint(color);
	GeneralPath p = new GeneralPath();
	double scl = 0.1;
	double [] xp = { 0.5, 0.7, 0.9 };
	double [] yp = { 1.3, 1.4, 1.5 };
	for (i=0; i<yp.length; i++) {
	   xp[i] = xp[i]*scl;
	   yp[i] = yp[i]*scl;
	}
	p.moveTo(-2.5*scl,0.0);
	p.lineTo(-0.5*scl,0.0);
	p.moveTo(-0.5*scl,-1.5*scl);
	p.lineTo(-0.5*scl,1.5*scl);
	p.moveTo(0.5*scl,-scl);
	p.lineTo(0.5*scl,scl);
	p.curveTo(xp[0],yp[0],xp[1],yp[1],xp[2],yp[2]);
	p.moveTo(0.5*scl,-scl);
	p.curveTo(xp[0],-yp[0],xp[1],-yp[1],xp[2],-yp[2]);
	p.moveTo(0.5*scl,0.0);
	p.lineTo(2.5*scl,0.0);
	g2.draw(p);
	g2.setPaint(savePaint);
	g2.setTransform(saveXform);
    }
}



Maintained by John Loomis, updated Mon Feb 17 12:14:23 2014