2017-03-17 3 views
0

"사용자 정의 모양"을 만들려고하고 있는데 어떤 이유로 인해 채우기가 나타나지 않는 것으로 가정합니다. 왜 그런지 알아? 경로가 닫히지 않음 JavaFX

Path path = new Path(); 

    path.getElements().add(new MoveTo(0, 0)); 
    path.getElements().add(new LineTo(5, 0)); 

    path.getElements().add(new MoveTo(5, 0)); 
    path.getElements().add(new LineTo(5, 4)); 

    path.getElements().add(new MoveTo(5, 4)); 
    path.getElements().add(new LineTo(15, 4)); 

    path.getElements().add(new MoveTo(15, 4)); 
    path.getElements().add(new LineTo(15, 0)); 

    path.getElements().add(new MoveTo(15, 0)); 
    path.getElements().add(new LineTo(18, 0)); 

    path.getElements().add(new MoveTo(18, 0)); 
    path.getElements().add(new LineTo(18, 4)); 

    path.getElements().add(new MoveTo(18, 4)); 
    path.getElements().add(new LineTo(20, 4)); 

    path.getElements().add(new MoveTo(20, 4)); 
    path.getElements().add(new LineTo(20, 6)); 

    path.getElements().add(new MoveTo(20, 6)); 
    path.getElements().add(new LineTo(0, 6)); 

    path.getElements().add(new MoveTo(0, 6)); 
    path.getElements().add(new LineTo(0, 0)); 

    path.setFill(Color.BLUE); 
    path.relocate(250, 250); 

    root.getChildren().add(path); 
    root.setScaleX(10); 
    root.setScaleY(10); 

    stage.setScene(scene); 
    stage.show(); 

정말 도움을 주셔서 감사합니다 :

여기 내 코드입니다!

답변

0

같은 위치에 LineTo 뒤에 MoveTo이 필요하지 않습니다.

path.getElements().addAll(new MoveTo(0, 0), 
          new LineTo(5, 0), 
          new LineTo(5, 4), 
          new LineTo(15, 4), 
          new LineTo(15, 0), 
          new LineTo(18, 0), 
          new LineTo(18, 4), 
          new LineTo(20, 4), 
          new LineTo(20, 6), 
          new LineTo(0, 6), 
          new ClosePath()); 
: 또한 당신은 LineTo을 추가하는 대신 ClosePath를 사용하여 경로를 닫아야합니다