Draw a dashed lineTag(s): AWT
About cookies on this site
We use cookies to collect and analyze information on site performance and usage,
to provide social media features and to enhance and customize content and advertisements.
Got it
public void drawDashedLine(Graphics g,int x1,int y1,int x2,int y2,
double dashlength, double spacelength) {
if((x1==x2)&&(y1==y2)) {
g.drawLine(x1,y1,x2,y2);
return;
}
double linelength=Math.sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
double yincrement=(y2-y1)/(linelength/(dashlength+spacelength));
double xincdashspace=(x2-x1)/(linelength/(dashlength+spacelength));
double yincdashspace=(y2-y1)/(linelength/(dashlength+spacelength));
double xincdash=(x2-x1)/(linelength/(dashlength));
double yincdash=(y2-y1)/(linelength/(dashlength));
int counter=0;
for (double i=0;i<linelength-dashlength;i+=dashlength+spacelength){
g.drawLine((int) (x1+xincdashspace*counter),
(int) (y1+yincdashspace*counter),
(int) (x1+xincdashspace*counter+xincdash),
(int) (y1+yincdashspace*counter+yincdash));
counter++;
}
if ((dashlength+spacelength)*counter<=linelength)
g.drawLine((int) (x1+xincdashspace*counter),
(int) (y1+yincdashspace*counter),
x2,y2);
}
comment Comments ( )