Forum Stats

  • 3,751,020 Users
  • 2,250,300 Discussions


Get JavaFX applications to work in JavaFXML

3250595 Member Posts: 3

I haven't been able to get any working JavaFX application to work in my JavaFXML application.


package javafxapplication13;

  import javafx.application.Application;

import javafx.geometry.HPos;

import javafx.geometry.VPos;

import javafx.scene.*;

import javafx.scene.control.*;

import javafx.scene.layout.*;

import javafx.stage.Stage;

public class JavaFXApplication13 extends Application {

  @Override public void start(final Stage stage) {

    // create a grid with some sample data.

    GridPane grid = new GridPane();

    grid.addRow(0, new Label("1"), new Label("2"), new Label("3"));

    grid.addRow(1, new Label("A"), new Label("B"), new Label("C"));


    // make all of the Controls and Panes inside the grid fill their grid cell,

    // align them in the center and give them a filled background.

    // you could also place each of them in their own centered StackPane with

    // a styled background to achieve the same effect.

    for (Node n: grid.getChildren()) {

      if (n instanceof Control) {

        Control control = (Control) n;

        control.setMaxSize(Double.MAX_VALUE, Double.MAX_VALUE);

        control.setStyle("-fx-background-color: cornsilk; -fx-alignment: center;");


      if (n instanceof Pane) {

        Pane pane = (Pane) n;

        pane.setMaxSize(Double.MAX_VALUE, Double.MAX_VALUE);

        pane.setStyle("-fx-background-color: cornsilk; -fx-alignment: center;");



    // style the grid so that it has a background and gaps around the grid and between the

    // grid cells so that the background will show through as grid lines.

    grid.setStyle("-fx-background-color: palegreen; -fx-padding: 2; -fx-hgap: 2; -fx-vgap: 2;");

    // turn layout pixel snapping off on the grid so that grid lines will be an even width.


    // set some constraints so that the grid will fill the available area.

    ColumnConstraints oneThird = new ColumnConstraints();



    grid.getColumnConstraints().addAll(oneThird, oneThird, oneThird);

    RowConstraints oneHalf = new RowConstraints();



    grid.getRowConstraints().addAll(oneHalf, oneHalf);


    // layout the scene in a stackpane with some padding so that the grid is centered

    // and it is easy to see the outer grid lines.

    StackPane layout = new StackPane();

    layout.setStyle("-fx-background-color: whitesmoke; -fx-padding: 10;");


    stage.setScene(new Scene(layout, 600, 400));;


    // can be uncommented to show the grid lines for debugging purposes, but not particularly useful for styling purposes.



  public static void main(String[] args) { launch(); }



How do I get this working example to work in JavaFXML initialize method? Thanks in advance!