See MyCap.java
Capacitor2.java
// Capacitor2.java import javafx.application.Application; import javafx.scene.Group; import javafx.scene.*; import javafx.scene.paint.*; import javafx.scene.shape.*; import javafx.collections.*; public class Capacitor2 { double xpos, ypos; double angle; Color clr; Group grp; Capacitor2() { clr = Color.RED; xpos = 0.0; ypos = 0.0; angle = 0.0; } void setAngle(double angle) { this.angle = angle; grp.setRotate(-angle); } public void setPosition(double x, double y) { xpos = x; ypos = y; grp.setTranslateX(xpos); grp.setTranslateY(-ypos); } public void draw(Group parent) { grp = new Group(); double resc = 0.1; grp.setScaleX(resc); grp.setScaleY(resc); //grp.setRotate(-10.0); double res = parent.getScaleX(); Path p = new Path(); ObservableList<PathElement> pl = p.getElements(); double [] xp = { 0.5, 0.7, 0.9 }; double [] yp = { 1.3, 1.4, 1.5 }; pl.add(new MoveTo(-2.5,0.0)); pl.add(new LineTo(-0.5,0.0)); pl.add(new MoveTo(-0.5,-1.5)); pl.add(new LineTo(-0.5,1.5)); pl.add(new MoveTo(0.5,-1.0)); pl.add(new LineTo(0.5, 1.0)); pl.add(new CubicCurveTo(xp[0],yp[0],xp[1],yp[1],xp[2],yp[2])); pl.add(new MoveTo(0.5,-1.0)); pl.add(new CubicCurveTo(xp[0],-yp[0],xp[1],-yp[1],xp[2],-yp[2])); pl.add(new MoveTo(0.5,0.0)); pl.add(new LineTo(2.5,0.0)); ObservableList<Node> ol = grp.getChildren(); p.setStrokeWidth(20/res); p.setStroke(clr); p.setStrokeLineCap(StrokeLineCap.ROUND); ol.add(p); parent.getChildren().add(grp); } }
Maintained by John Loomis, updated Fri Feb 02 12:41:42 2018