In my FXML, I created gridpane. Now I want to add a dynamic element (for example, a button, text field) by java code (and not by FXML), while I try to do this, I get an error. Please, help.
my FXML:
<AnchorPane fx:controller="tableview.TableViewSample" id="AnchorPane" maxHeight="- Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns:fx="http://javafx.com/fxml"> <children> <GridPane fx:id="greadpane" layoutX="0.0" layoutY="0.0" prefHeight="400.0" prefWidth="600.0"> <columnConstraints> <ColumnConstraints fx:id="col0" hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" /> <ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" /> </columnConstraints> <rowConstraints> <RowConstraints fx:id="row0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" /> <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" /> <RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" /> </rowConstraints> </GridPane> </children> </AnchorPane>
My Java code is:
public class TableViewSample extends Application { @FXML private GridPane greadpane; public static void main(String[] args) { launch(args); } @Override public void start(Stage stage) throws IOException { Pane myPane = (Pane)FXMLLoader.load(getClass().getResource ("tabviewexamlpe.fxml")); Scene scene = new Scene(myPane); stage.setTitle("Table View "); stage.setWidth(450); stage.setHeight(500); stage.setScene(scene); final Label label = new Label("Address Book"); label.setFont(new Font("Arial", 20)); greadpane.add(label, 0, 0); stage.show(); } }
source share