0
我在舞臺上添加一個滾動條,我想固定在舞臺右側的滾動條,首先我想嘗試通過CSS,但我可以沒有找到像「position:absolute」這樣的風格,所以我在舞臺上添加了一個ChangeListener,當舞臺調整大小時,重置了滾動條的LayoutX和LayoutY,並且是,它可以工作,但是當我最大化舞臺時,它不起作用,在舞臺上收聽如何在javaFX的舞臺右側固定滾動條
stage.heightProperty().addListener(new ChangeListener<Number>()
{
@Override
public void changed(ObservableValue<? extends Number> observable, Number oldValue, Number newValue)
{
System.out.println("this is height,newValue:"+newValue.intValue()+"oldValue:"+oldValue.intValue());
}
});
stage.maximizedProperty().addListener(new ChangeListener<Boolean>() {
@Override
public void changed(ObservableValue<? extends Boolean> ov, Boolean t, Boolean t1) {
System.out.println("current height"+stage.heightProperty().doubleValue());
System.out.println("current width"+stage.widthProperty().doubleValue());
}
});
stage.widthProperty().addListener(new ChangeListener<Number>()
{
@Override
public void changed(ObservableValue<? extends Number> observable, Number oldValue, Number newValue)
{
hBox.setPrefWidth(newValue.intValue()-30);
table1HorizontalScrollBar = findScrollBar(table1, Orientation.HORIZONTAL);
table1VerticalScrollBar = findScrollBar(table1, Orientation.VERTICAL);
table2.setPrefWidth(newValue.intValue()-table1.getWidth());
table2HorizontalScrollBar = findScrollBar(table2, Orientation.HORIZONTAL);
table2VerticalScrollBar = findScrollBar(table2, Orientation.VERTICAL);
bindValueProperty();
System.out.println("this is width ,newValue:"+newValue.intValue()+"oldValue:"+oldValue.intValue());
}
});
時,我最大的階段,控制檯輸出如下:
現在,我可以得到舞臺的寬度和高度的新值; 但在舞臺上,滾動條仍然在舊的位置,這樣