簡體   English   中英

如何僅顯示JComponent / SwingNode / Java FX窗格的一部分

[英]How to only show a section of a JComponent/SwingNode/Java FX Pane

我正在構建一個Java FX音樂應用程序,並且有一個Java FX窗格,其中包含一個包含JComponent的SwingNode,我希望能夠隱藏該組件的頂部和底部,而僅顯示中間部分。

如果我將窗格的大小調整為小於Component,那么它僅顯示Component的頂部,就像Component的Top部分一樣,但是我想一種向上移動組件的方法,以便中間部分可見並且頂部和底部是組件的中間部分

有人知道這樣做的方法嗎? TIA

如果只想剪切外部區域,請將節點包裝到Pane ,設置負LayoutXY和合適的MaxSize 當外部區域與其他Node重疊時,可能需要裁剪。 例如:

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); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM