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