JavaFX – how to add a container in the anchor pane
•
Java
I have a simple project that contains fxml. XML with a splitter
So fxml is like this:
<AnchorPane id="AnchorPane" prefHeight="200" prefWidth="320" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8" fx:controller="accordionproject.FXMLDocumentController">
<children>
<SplitPane fx:id="splitPane" dividerPositions="0.29797979797979796" focusTraversable="true" layoutX="60.0" layoutY="14.0" prefHeight="200.0" prefWidth="320.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" xmlns:fx="http://javafx.com/fxml">
<items>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="160.0" prefWidth="100.0" />
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="160.0" prefWidth="100.0" />
</items>
</SplitPane>
</children>
</AnchorPane>
What I want is to insert one in the left anchor pane of the splitter using only java code v@R_199_2419 @.
Can you do that?
I'm new to fxml, so any help will be belittled
Thank you first
Solution
Add FX: ID to the anchorpane to operate on:
<AnchorPane fx:id="leftAnchorPane" minHeight="0.0" minWidth="0.0"
prefHeight="160.0" prefWidth="100.0" />
Get it in the controller as a @ fxml member field:
public class FXMLDocumentController
{
@FXML private AnchorPane leftAnchorPane;
...
}
And operate it at the desired location (initialize() shown here can be – almost – anywhere else):
public void initialize() {
V@R_199_2419@ v@R_199_2419@ = new V@R_199_2419@();
...
AnchorPane.setTopAnchor(v@R_199_2419@,10.0); // obvIoUsly provide your own constraints
leftAnchorPane.getChildren().add(v@R_199_2419@);
}
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码
