public class CreateNewWindow{
String str;
create(){
...
@Override
public void start(Stage primaryStage) {
Pane root = new Pane();
int rows=9,cols =9;
for(int i=0;i<=rows;i++){
for(int j=0;j<=cols;j++) {
Rectangle rec = new Rectangle();
rec.xProperty().bind(root.widthProperty().divide(rows).multiply(i));
rec.yProperty().bind(root.heightProperty().divide(cols).multiply(j));
rec.heightProperty().bind(root.heightProperty().divide(cols));
rec.widthProperty().bind(root.widthProperty().divide(rows));
rec.setStroke(Color.RED);
root.getChildren().add(rec);
}
}
Scene scene = new Scene(root, 300, 300);
primaryStage.setScene(scene);
primaryStage.show();
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
launch(args);
}
Касательно взаимосвязи компонентов, правильный вариант это использовать Property и Observable и связки bind между ними. Это в первую очередь избавит от простыней кода взаимодействия между компонентами. Бонусом получите готовую событийную модель для них, т.е. на property можно вешать слушателей.
Использовать fxml конечно удобно, но это накладывает некоторые задержки, общую тяжесть и некоторые ограничения с неудобствами(опять же нет конструктора в таком случае).