example español ejemplos descargar javafx javafx-2

español - javafx netbeans



JavaFX Cómo establecer la imagen de fondo de la escena (3)

¿Cómo puedo configurar la imagen de fondo de una escena?


Puedes cambiar el estilo directamente para la escena usando la clase .root :

.root { -fx-background-image: url("https://www.google.com/images/srpr/logo3w.png"); }

Agregue esto a CSS y cárguelo como "Uluk Biy" descrito en su respuesta.


Uno de los enfoques puede ser así:

1) Cree un archivo CSS con el nombre "style.css" y defina un selector de id. En él:

#pane{ -fx-background-image: url("background_image.jpg"); -fx-background-repeat: stretch; -fx-background-size: 900 506; -fx-background-position: center center; -fx-effect: dropshadow(three-pass-box, black, 30, 0.5, 0, 0); }

2) Establezca el ID del control más alto (o cualquier control) en la escena con el valor definido en CSS y cargue este archivo CSS en la escena:

public class Test extends Application { public static void main(String[] args) { launch(args); } @Override public void start(Stage primaryStage) { StackPane root = new StackPane(); root.setId("pane"); Scene scene = new Scene(root, 300, 250); scene.getStylesheets().addAll(this.getClass().getResource("style.css").toExternalForm()); primaryStage.setScene(scene); primaryStage.show(); } }

También puede dar una identificación al control en un archivo FXML:

<StackPane id="pane" prefHeight="200" prefWidth="320" xmlns:fx="http://javafx.com/fxml" fx:controller="demo.Sample"> <children> </children> </StackPane>

Para obtener más información sobre JavaFX CSS Styling, consulte esta guide .


Sé que esta es una pregunta antigua

Pero en caso de que quiera hacerlo programáticamente o en la forma de Java

Para fondos de imágenes; puedes usar la clase BackgroundImage

BackgroundImage myBI= new BackgroundImage(new Image("my url",32,32,false,true), BackgroundRepeat.REPEAT, BackgroundRepeat.NO_REPEAT, BackgroundPosition.DEFAULT, BackgroundSize.DEFAULT); //then you set to your node myContainer.setBackground(new Background(myBI));

Para Paint o Fill Backgrounds; puedes usar la clase BackgroundFill

BackgroundFill myBF = new BackgroundFill(Color.BLUEVIOLET, new CornerRadii(1), new Insets(0.0,0.0,0.0,0.0));// or null for the padding //then you set to your node or container or layout myContainer.setBackground(new Background(myBF));

Mantiene viva tu java y tu css muerta.