0 Replies Latest reply on Aug 3, 2016 7:10 AM by 3250595

    Get JavaFX applications to work in JavaFXML


      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!