我有BorderPane
以ScrollPane
爲中心元素。它會自動調整大小以填滿屏幕。在ScrollPane
內部是一個HBox
,它沒有內容,但是是一個拖放目標。因此我想要它填寫其父母ScrollPane
。如何調整JavaFX ScrollPane內容的大小以適合當前的大小
這樣做的首選方法是什麼?
我已經試過到目前爲止被重寫ScrollPane.resize(...)
方法來調整HBox
但似乎相當複雜的,非正統。
編輯:要添加一些有用的代碼到這一點,這是我怎麼能解決該問題,但我相信,必須有一些更好的方式來做到這一點:部分從這裏取
@Override
public void resize(double width, double height) {
super.resize(width, height);
double scrollBarHeight = 2;
double scrollBarWidth = 2;
for (final Node node : lookupAll(".scroll-bar")) {
if (node instanceof ScrollBar) {
ScrollBar sb = (ScrollBar) node;
if (sb.getOrientation() == Orientation.HORIZONTAL) {
System.out.println("horizontal scrollbar visible = " + sb.isVisible());
System.out.println("width = " + sb.getWidth());
System.out.println("height = " + sb.getHeight());
if(sb.isVisible()){
scrollBarHeight = sb.getHeight();
}
}
if (sb.getOrientation() == Orientation.VERTICAL) {
System.out.println("vertical scrollbar visible = " + sb.isVisible());
System.out.println("width = " + sb.getWidth());
System.out.println("height = " + sb.getHeight());
if(sb.isVisible()){
scrollBarWidth = sb.getWidth();
}
}
}
}
hBox.setPrefSize(width-scrollBarWidth, height-scrollBarHeight);
}
代碼: How to access the Scrollbars of a ScrollPane
這沒關係,我只是把hgrow和vgrow有時,它現在作品 – user7867610