2013-08-26 1 views
0

JavaFx 노드를 기반으로 대화 형 gant 차트를 만들 예정입니다. 사진은 나에게 개념을 보여줍니다.StackFane에 JavaFx를 사용하여 세로선을 추가하는 방법

//sp is my StackPane 
//line every 60 px/minutes 

for (int i = 0; i < lines.length; i++) { 
    lines[i] = new Line(i * 60, 0, i * 60, sp.getWidth()); 
    sp.getChildren().add(lines[i]); 
} 

문제가 모든 라인 갠트 차트의 중앙에 순차적으로 첨가된다는 것이다 :

1. Operations are placed inside of VBox 
2. VBox is placed inside of StackPane and then inside of ScrollPane. 
3. I have vertical time lines responsible for hours. 

수직 타임 라인을 추가하여 메신저 방법이다. 기본적으로 나는 문제가 자바가 X (시작, 끝), Y (시작, 끝) 값을 올바르게 설정하지 않는다고 생각합니다 ....

어떤 조언이 있습니까?

Gant chart nodes schema

답변

4

StackPane이

StackPane를 작동하지 않는 이유는, 레이아웃 창입니다 그것이 같은 alignment constraint과 내용에 대한 제약 조건에 따라 컨텐츠의 배치합니다. StackPane의 기본 정렬은 Stack의 모든 것을 가운데에 배치하는 것입니다. 레이아웃 창은 일반적으로 레이아웃 내용을 제공 할 때 수동으로 설정을 무시합니다 (레이아웃 자체를 관리하므로).

해결 방법 : 그룹을 사용하거나 당신이 원하는 것은 자동으로 콘텐츠 위치를 레이아웃하지 않는 StackPane 이외의 컨테이너를 사용하다

구획입니다. 사용할 수있는 컨테이너의 예는 Group 또는 Pane입니다.

당신은 당신이 그것을 중심으로 원한다면 당신은 항상 StackPane에 부모 컨테이너를 포장 할 수있는 StackPane

에 새 부모를 래핑 수있는 것은 일반적으로 StackPane를 사용하는 방식이다 가능한 레이아웃 영역 (의).

+0

감사합니다. 그게 잘 작동합니다. – kingkong

관련 문제