Можно определить количество строк и столбцов в GridPane (JavaFX)

Мне было интересно, возможно ли вообще определить количество строк и столбцов, которые должна иметь панель сетки.


person Johan Rovala    schedule 13.04.2015    source источник
comment
Количество столбцов и строк определяется узлами, которые вы добавляете, и columnIndex и rowIndex, которые вы устанавливаете для них. Ваш вопрос не очень ясен: можете уточнить?   -  person James_D    schedule 13.04.2015
comment
Я знаю, что мой вопрос выглядит довольно плохо. Чего я надеюсь добиться, так это создать базовый макет сетки, который показывает все линии сетки. скажем, например, я хотел создать макет сетки с 300 строками, тогда я хотел бы установить диапазон столбцов на 300. Я надеюсь, что это имеет больше смысла   -  person Johan Rovala    schedule 13.04.2015


Ответы (1)


Вы можете добавить необходимое количество ColumnConstraints и RowConstraints к GridPane. Например:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.ColumnConstraints;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.RowConstraints;
import javafx.stage.Stage;

public class GridPaneForceColsAndRows extends Application {

    @Override
    public void start(Stage primaryStage) {
        GridPane root = new GridPane();
        root.setGridLinesVisible(true);
        final int numCols = 50 ;
        final int numRows = 50 ;
        for (int i = 0; i < numCols; i++) {
            ColumnConstraints colConst = new ColumnConstraints();
            colConst.setPercentWidth(100.0 / numCols);
            root.getColumnConstraints().add(colConst);
        }
        for (int i = 0; i < numRows; i++) {
            RowConstraints rowConst = new RowConstraints();
            rowConst.setPercentHeight(100.0 / numRows);
            root.getRowConstraints().add(rowConst);         
        }
        primaryStage.setScene(new Scene(root, 800, 600));
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}
person James_D    schedule 13.04.2015