Мне нужно увеличить / уменьшить масштаб в ScrollPane относительно положения мыши.для этого я использовал ответ на этот вопрос , пока все в порядке.Мне нужна еще одна вещь, когда я полностью открываю окно Vbox и заполняю всю страницу.для этого измените эту небольшую часть кода: 1. установите максимальный размер группы в Double.Max_value:
public panelable(Node target) {
super();
this.target = target;
this.zoomNode = new Group(target);
zoomNode.maxHeight( Double.MAX_VALUE) ;
zoomNode.maxWidth( Double.MAX_VALUE) ;
setContent(outerNode(zoomNode));
setPannable(true);
setFitToHeight(true); //center
setFitToWidth(true); //center
updateScale();
}
2.declare vgrow для VBox:
private Node centeredNode(Node node) {
VBox vBox = new VBox(node);
VBox.setVgrow( node , Priority.ALWAYS);
vBox.setAlignment(Pos.CENTER);
return vBox;
}
но Group isn 'изменяемого размера, и этот код не работает. Более того, как документация Oracle ScrollPane , говорящая в моем случае, нужно обернуть узел прокрутки в группе.так что я могу сделать?есть ли решение?Помоги мне, пожалуйста.это мой основной код класса:
public class Main extends Application {
@Override
public void start(Stage primaryStage) throws Exception{
StackPane stackPane = new StackPane() ;
stackPane.setPrefSize( 600, 600);
stackPane.setMaxSize( Double.MAX_VALUE , Double.MAX_VALUE);
stackPane.setStyle( "-fx-background-color: red");
primaryStage.setScene(new Scene( new panelable( stackPane)));
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}}