2014-02-15 2 views

답변

2
GC.setLineWidth(2); 
GC.setStroke(LASSO_COLOR); 
GC.beginPath(); 
hdashed(x0, x1, y0); 
hdashed(x0, x1, y1); 
vdashed(x0, y0, y1); 
vdashed(x1, y0, y1); 
GC.closePath(); 
GC.stroke(); 

private void hdashed(double x0, double x1, double yy) 
{ 
    boolean on = true; 
    GC.moveTo(x0, yy); 
    for (double xx=x0; xx<=x1; xx+=DASH_LENGTH) { 
     if (on) GC.lineTo(xx, yy); 
     else GC.moveTo(xx, yy); 
     on = !on; 
    } 
} 

private void vdashed(double xx, double y0, double y1) 
{ 
    boolean on = true; 
    GC.moveTo(xx, y0); 
    for (double yy=y0; yy<=y1; yy+=DASH_LENGTH) { 
     if (on) GC.lineTo(xx, yy); 
     else GC.moveTo(xx, yy); 
     on = !on; 
    } 
} 
1

이 기능은 JFX 8u40에 추가되었습니다. 자세한 내용은 API을 참조하십시오.

1

점선과 모든 방법 setLineDashes는 이전이된다 :

... 
gc.setStroke(Color.RED); 
gc.setLineWidth(1); 
gc.setLineDashes(2); 
gc.strokeLine(x1, y1, x1, y1); 
관련 문제