2017-05-18 15 views
0

Java FX 음악 응용 프로그램을 구축 중이며 JComponent가 포함 된 SwingNode가 포함 된 Java FX 패널이 있는데 숨길 수 있기를 원합니다. 이 구성 요소의 위와 아래에는 중간 섹션 만 표시됩니다.JComponent/SwingNode/Java FX 패널의 섹션 만 표시하는 방법

패널 크기를 컴포넌트보다 작게 설정하면 컴포넌트의 상단 섹션 (예 : Top section of Component) 만 표시되지만 중간 섹션이 보이도록 컴포넌트를 위쪽으로 이동하는 방법을 원합니다. 위쪽과 아래쪽이 잘립니다. Middle section of Component

누구나이 방법을 알고 있습니까? TIA

답변

0

외부 영역을 간단하게 자르려면 노드 Pane으로 감싸고 음수가 LayoutXY이고 적합 함은 MaxSize으로 설정하십시오. 바깥 쪽 영역이 다른 영역과 겹치면 클리핑이 필요할 수 있습니다. 예 :

Pane viewPort = new Pane(); 
viewPort.getChildren().add(yourSwingNode); 

// Top 200px and bottom 200px of yourSwingNode will be trimed. 
yourSwingNode.setLayoutY(-200.0); 
yourSwingNode.layoutBoundsProperty().addListener((o, ov, nv) -> { 
    viewPort.setMaxHeight(nv.getHeight() - 400.0); 
}); 

// Set a clip for the layout bounds of Pane if you need 
Rectangle clip = new Rectangle(); 
viewPort.layoutBoundsProperty().addListener((o, ov, nv) -> { 
    clip.setWidth(nv.getWidth()); 
    clip.setHeight(nv.getHeight()); 
}); 
viewPort.setClip(clip); 
+0

감사합니다. – tnoel999888