2017-05-18 82 views
0

我正在構建Java FX音樂應用程序,並且我有一個Java FX窗格,其中包含一個包含JComponent的SwingNode,並且我希望能夠隱藏這個組件的頂部和底部,只顯示中間部分。如何僅顯示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

相關問題