La clase de fondo es una parte de JavaFX. La clase de fondo establece el fondo de una región. Cada fondo se compone de varios rellenos o imágenes de fondo pero no puede ser nulo pero puede estar vacío. La clase de fondo es inmutable, por lo que puede reutilizar libremente el mismo fondo en muchas regiones diferentes.
Constructores de la clase:
- Background(BackgroundFill… f) : Crea un nuevo objeto de fondo con rellenos especificados.
- Background(BackgroundFill[] rellenos, BackgroundImage[] imágenes) : Crea un nuevo objeto de fondo con rellenos e imágenes de fondo especificados.
- Background(BackgroundImage… i) : Crea un nuevo objeto de fondo con imágenes de fondo especificadas.
- Fondo (rellenos de lista, imágenes de lista) : crea un nuevo objeto de fondo con una lista de rellenos e imágenes de fondo especificados.
Métodos comúnmente utilizados:
Método | Explicación |
---|---|
obtenerRellenos() | Devuelve la lista de todos los rellenos de un fondo. |
getImages() | Devuelve la lista de todas las imágenes de fondo de un fondo. |
getOutsets() | Devuelve los inicios de este Fondo. |
esta vacio() | Devuelve si el fondo está vacío. |
está basado en porcentaje de relleno() | Devuelve si el relleno de este Fondo se basa en porcentajes. |
Los siguientes programas ilustran el uso de la clase de fondo:
- Programa Java para establecer un relleno para el fondo de un contenedor: En este programa crearemos un Fondo llamado background con BackgroundFill especificado y lo agregaremos al fondo. Crearemos un HBox llamado hbox , un Label llamado label , un TextField llamado textfield y un Button llamado button . Ahora agregue la etiqueta, el campo de texto y el botón al HBox. Estableceremos el fondo de hbox usando la función setBackground(). Ahora establezca la alineación de HBox en Pos.CENTER y también agregue algo de espacio entre los Nodes usando el método setSpacing() . Crearemos una Escena llamada escenay agregue el HBox a la escena. La escena se establecerá en el escenario usando la función setScene() . Llamaremos a la función show() para mostrar los resultados.
// Java program to set a fill for the background
// of a container
import
javafx.application.Application;
import
javafx.scene.Scene;
import
javafx.scene.control.*;
import
javafx.scene.layout.*;
import
javafx.stage.Stage;
import
javafx.event.ActionEvent;
import
javafx.event.EventHandler;
import
javafx.scene.canvas.*;
import
javafx.scene.web.*;
import
javafx.scene.layout.*;
import
javafx.scene.image.*;
import
java.io.*;
import
javafx.geometry.*;
import
javafx.scene.Group;
import
javafx.scene.paint.*;
public
class
Background_2
extends
Application {
// launch the application
public
void
start(Stage stage)
{
try
{
// set title for the stage
stage.setTitle(
"creating Background"
);
// create a label
Label label =
new
Label(
"Name : "
);
// create a text field
TextField textfield =
new
TextField();
// set preferred column count
textfield.setPrefColumnCount(
10
);
// create a button
Button button =
new
Button(
"OK"
);
// add the label, text field and button
HBox hbox =
new
HBox(label, textfield, button);
// set spacing
hbox.setSpacing(
10
);
// set alignment for the HBox
hbox.setAlignment(Pos.CENTER);
// create a scene
Scene scene =
new
Scene(hbox,
280
,
280
);
// create a background fill
BackgroundFill background_fill =
new
BackgroundFill(Color.PINK,
CornerRadii.EMPTY, Insets.EMPTY);
// create Background
Background background =
new
Background(background_fill);
// set background
hbox.setBackground(background);
// set the scene
stage.setScene(scene);
stage.show();
}
catch
(Exception e) {
System.out.println(e.getMessage());
}
}
// Main Method
public
static
void
main(String args[])
{
// launch the application
launch(args);
}
}
Producción:
- Programa Java para agregar una imagen al fondo de un contenedor: en este programa crearemos un fondo llamado background con una imagen de fondo especificada y agregaremos esta imagen al fondo del contenedor. Importe la imagen usando FileInputStream y luego convierta el archivo en un objeto de imagen. Use este objeto de imagen para crear una imagen de fondo. Crearemos un HBox llamado hbox , un Label llamado label , un TextField llamado textfield y un Button llamado button . Ahora agregue la etiqueta, el campo de texto y el botón al HBox. Establece el fondo del hbox usando la función setBackground() . Establezca la alineación de HBox en Pos.CENTERy también agregue algo de espacio entre los Nodes usando el método setSpacing() . Crearemos una Escena llamada escena y agregaremos el HBox a la escena. La escena se establecerá en el escenario usando la función setScene() . Finalmente llame al método show() para mostrar el resultado.
// Java program to add an image to
// the background of a container
import
javafx.application.Application;
import
javafx.scene.Scene;
import
javafx.scene.control.*;
import
javafx.scene.layout.*;
import
javafx.stage.Stage;
import
javafx.event.ActionEvent;
import
javafx.event.EventHandler;
import
javafx.scene.canvas.*;
import
javafx.scene.web.*;
import
javafx.scene.layout.*;
import
javafx.scene.image.*;
import
java.io.*;
import
javafx.geometry.*;
import
javafx.scene.Group;
public
class
Background_1
extends
Application {
// launch the application
public
void
start(Stage stage)
{
try
{
// set title for the stage
stage.setTitle(
"creating Background"
);
// create a label
Label label =
new
Label(
"Name : "
);
// create a text field
TextField textfield =
new
TextField();
// set preferred column count
textfield.setPrefColumnCount(
10
);
// create a button
Button button =
new
Button(
"OK"
);
// add the label, text field and button
HBox hbox =
new
HBox(label, textfield, button);
// set spacing
hbox.setSpacing(
10
);
// set alignment for the HBox
hbox.setAlignment(Pos.CENTER);
// create a scene
Scene scene =
new
Scene(hbox,
280
,
280
);
// create a input stream
FileInputStream input =
new
FileInputStream(
"f:\\gfg.png"
);
// create a image
Image image =
new
Image(input);
// create a background image
BackgroundImage backgroundimage =
new
BackgroundImage(image,
BackgroundRepeat.NO_REPEAT,
BackgroundRepeat.NO_REPEAT,
BackgroundPosition.DEFAULT,
BackgroundSize.DEFAULT);
// create Background
Background background =
new
Background(backgroundimage);
// set background
hbox.setBackground(background);
// set the scene
stage.setScene(scene);
stage.show();
}
catch
(Exception e) {
System.out.println(e.getMessage());
}
}
// Main Method
public
static
void
main(String args[])
{
// launch the application
launch(args);
}
}
Producción:
Nota: Es posible que los programas anteriores no se ejecuten en un IDE en línea. Utilice un compilador fuera de línea.
Referencia: https://docs.oracle.com/javase/8/javafx/api/javafx/scene/layout/Background.html
Publicación traducida automáticamente
Artículo escrito por andrew1234 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA