import javafx.scene.canvas.GraphicsContext; import javafx.scene.paint.Color; import javafx.scene.text.TextAlignment; import javafx.geometry.VPos; import java.util.Formatter; /* Lisage Takistile käsklus rakendaPinge(double voldid); Hiirega takisti peale liikumisel näidatakse sellele takistile mõjuv pinge, takistit läbiv vool ning avalduv võimsus. */ public class Takisti5{ int x1, y1, x2, y2; int r=5; int ringiraadius=20; double takistus; double pinge; double maxN; boolean naitaTekst=false; public Takisti5(int ux1, int uy1, int ux2, int uy2, double takistus, double maxVoimsus){ if(ux1==ux2 || uy1==uy2){ x1=ux1; y1=uy1; x2=ux2; y2=uy2; this.takistus=takistus; this.maxN=maxVoimsus; } else { throw new RuntimeException( "Pole horisontaalne ega vertikaalne"); } } public void muudaAsukoht(int ux1, int uy1, int ux2, int uy2){ int dx=Math.abs(ux2-ux1); int dy=Math.abs(uy2-uy1); if(dx>=dy){ uy2=uy1; } else { ux2=ux1; } x1=ux1; y1=uy1; x2=ux2; y2=uy2; } public void muudaTekstiNahtavus(int hx, int hy){ int dx=hx-(x1+x2)/2; int dy=hy-(y1+y2)/2; naitaTekst=((dx*dx+dy*dy)