Вместо GridPane
Я думаю, что вы бы лучше подходили для использования SplitPane
, он имеет встроенную функциональность этого типа. Ниже взято из документации JavaFX.
A control that has two or more sides, each separated by a divider, which can
be dragged by the user to give more space to one of the sides, resulting in
the other side shrinking by an equal amount.
Nodes can be positioned horizontally next to each other, or stacked
vertically. This can be controlled by setting the orientationProperty().
Ниже работоспособный пример:
package com.example;
import javafx.application.Application;
import javafx.geometry.Orientation;
import javafx.scene.Scene;
import javafx.scene.control.SplitPane;
import javafx.scene.control.TextArea;
import javafx.stage.Stage;
public class Test extends Application {
@Override
public void start(Stage stage) throws Exception {
SplitPane pane = new SplitPane();
pane.setOrientation(Orientation.HORIZONTAL);
pane.getItems().addAll(new TextArea(), new TextArea());
stage.setScene(new Scene(pane));
stage.show();
}
public static void main(String[] args) {
Application.launch(args);
}
}