Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Setting background image by javafx code (not css)

Tags:

javafx-2

I'm trying to set an image as the background using this code:

root.setStyle("-fx-background-image: url('splash.jpg'); 
               -fx-background-position: center center; 
               -fx-background-repeat: stretch;");

But it doesn't work. If I set it with CSS, it works perfectly:

root.setId("pane");
primaryStage.getScene().getStylesheets().add(JavaFXApplication9.class.getResource("style.css").toExternalForm());

and CSS:

#pane{
   -fx-background-image: url('splash.jpg');
   -fx-background-repeat: stretch;   
   -fx-background-position: center center;
}

All of my files (main class, CSS and image) placed into the same package.

So, how can I set the background image using code? Or, how can I override (replace) lines about background-image of some element in CSS from application code? Thanks!

like image 282
Gleb Avatar asked Mar 24 '12 11:03

Gleb


1 Answers

Try next:

String image = JavaFXApplication9.class.getResource("splash.jpg").toExternalForm();
root.setStyle("-fx-background-image: url('" + image + "'); " +
           "-fx-background-position: center center; " +
           "-fx-background-repeat: stretch;");
like image 85
Sergey Grinev Avatar answered Oct 24 '22 02:10

Sergey Grinev