How add background image to an AnchorPane
by using Scene Builder?
I've tried it as:
-fx-background-image url('C:/Users/Documents/page_background.gif')
How I set this in Scene Builder.
And the generated FXML:
<AnchorPane id="LoginAnchorPane" fx:id="LoginAnchorPane" prefHeight="400.0" prefWidth="600.0" style="-fx-background-image: url('C:/Users/Documents/page_background.gif');" xmlns="http://javafx.com/javafx/8.0.60" xmlns:fx="http://javafx.com/fxml/1" fx:controller="javafx_lsdu.LoginController">
You can try to set it directly in Scene Builder as:
-fx-background-image: url('file:C:/Users/Documents/page_background.gif')
It requires the scheme/protocol to be specified.
But the suggested way, to separate CSS styling in a CSS file. For instance you can create a CSS style-class in your CSS file (let's call it "application.css"):
application.css
.anchor {
-fx-background-image:url('file:/C:/Users/Documents/page_background.gif');
}
Then in the FXML file you add this stylesheet to the root and you add the anchor
style-class to the AnchorPane
:
<AnchorPane prefHeight="545.0" prefWidth="712.0" styleClass="anchor" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8.0.60">
<stylesheets>
<URL value="@application.css" />
</stylesheets>
</AnchorPane>
Note: Stylesheets should be added to the root node (in the example the AnchorPane
is the root).