Introducción a JavaFX HBox

JavaFX HBox es un componente que distribuye nodos secundarios de manera horizontal. Para este HBox, si hay inserciones presentes, el contenido de HBox se mostrará dentro de esas inserciones. La clase HBox es extendida por la clase Pane y puede ser instanciada desde la clase JavaFX.scene.layout.HBox. A diferencia de VBox, agregar más elementos secundarios no lo insertará debajo del nodo secundario anterior, sino en el lado derecho del anterior.

Constructores de JavaFX HBox

Se pueden usar cuatro constructores para implementar HBox en Java.

  1. HBox (): se creará un diseño HBox con 0 espacios.
  2. HBox (Double s): se creará un diseño de HBox con los espacios especificados como argumento.
  3. HBox (Espaciado doble, nodos secundarios ): se creará un diseño HBox con los nodos de espacio y secundarios especificados en el argumento.
  4. HBox (Node? Children): se creará un diseño HBox con el espaciado 0 y los nodos hijos especificados, ya que el espaciado no está establecido, aquí el valor predeterminado es 0.

Propiedades de JavaFX HBox

JavaFX HBox tiene tres propiedades como se muestra a continuación.

  • alineación: propiedad que se utiliza para la alineación de los elementos secundarios que está dentro del alto y ancho de HBox.
  • fillHeight: los nodos secundarios redimensionables se redimensionarán a la altura de HBox o se mantendrán en la altura preferida al establecer esta propiedad como verdadera.
  • espaciado: se establecerá la cantidad de espacio horizontal entre los nodos secundarios en HBox.

Los 15 métodos principales de JavaFX HBox

Los siguientes son los métodos más utilizados en JavaFX HBox.

  • getSpacing (): se devolverá el valor de la propiedad de espaciado.
  • getHgrow (Nodechild): se devolverá el valor de la propiedad Hgrow.
  • setFillHeight (valor booleano): se establecerá el valor de la propiedad FillHeight.
  • clearConstraints (Nodechild): las restricciones de HBox se eliminarán del nodo secundario.
  • isFillHeight (): se devolverá el valor de la propiedad FillHeight.
  • setAlignment (Posvalue): se establecerá el valor de la propiedad de alineación.
  • setSpacing (valor doble): se establecerá el valor de la propiedad de espaciado.
  • getMargin (Nodechild): se devolverá el valor de la propiedad de margen.
  • spacingProperty (): se establecerá el espacio horizontal entre los nodos secundarios en HBox.
  • setMargin (Nodechild, Insets value): el margen para el hijo se establecerá en HBox.
  • computeMinWidth (doble altura): el ancho mínimo de la región se calculará utilizando este método.
  • computeMinHeight (doble ancho): la altura mínima de la región se calculará utilizando este método.
  • getAlignment (): se devolverá el valor de la propiedad de alineación.
  • computePrefWidth (doble altura): se calculará el ancho preferido para la región que se necesita para la altura dada.
  • computePrefHeight (doble ancho): se calculará la altura preferida para la región que se necesita para el ancho dado.

Ejemplos de JavaFX HBox

Ahora, veamos algunos ejemplos de HBox con algunos de los métodos explicados en la sección anterior.

Ejemplo 1

En primer lugar, se crean 2 botones b1 y b2 con el texto 'Botón de muestra 1 para HBox' y 'Botón de muestra 2 para HBox'. Luego, crea un HBox y una escena. Después de configurar la escena, se mostrarán los resultados.

Código:

//Java program to create a HBox
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;
//class that extends Application base class
public class JavaFXHBoxExample extends Application (
//application starts at this point
@Override
public void start(Stage s) throws Exception (
s.setTitle("HBox Example");
//create button 1
Button b1 = new Button("Sample button 1 for HBox");
Button b2 = new Button("Sample button 2 for HBox");
//create HBox
HBox hb = new HBox();
//create scene
Scene sc = new Scene(hb, 400, 200);
//add them
hb.getChildren().addAll(b1, b2);
//set the scene
s.setScene(sc);
//display the result
s.show();
)
//main method
public static void main(String() args) (
launch (args);
)
)

Salida:

Ejemplo # 2

En primer lugar, cree un HBox y una etiqueta. Luego, agregue la etiqueta creada a HBox. Cree botones utilizando un bucle for para que la sintaxis de creación de botones no necesite volver a escribirse. Crea una escena y configúrala. Después de configurar la escena, los botones se mostrarán en el centro.

Código:

//Java program to demonstrate JavaFX HBox with center alignment
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.Group;
import javafx.geometry.Pos;
//class that extends Application class
public class JavaFXHBoxExample extends Application (
// application starts at this point
public void start(Stage s)
(
try (
// set title
s.setTitle("HBox Example");
// create HBox
HBox hb = new HBox(10);
// create label
Label lb = new Label("Hey … This is the sample for JavaFX HBox !!");
// add the created label to HBox
hb.getChildren().add(lb);
// set alignment of the HBox
hb.setAlignment(Pos. CENTER );
// add buttons to HBox
for (int i = 0; i < 4; i++)
(
hb.getChildren().add(new Button("Sample Button " + (int)(i + 1)));
)
// create a scene
Scene sc = new Scene(hb, 700, 300);
// set the scene
s.setScene(sc);
s.show();
)
//catch the exception
catch (Exception e) (
System. out .println(e.getMessage());
)
)
// Main Method
public static void main(String args())
(
// launch the application
launch (args);
)
)

Salida:

Ejemplo # 3

En primer lugar, HBox se crea con un conjunto de relleno e inserciones. Luego, cree una etiqueta con una fuente personalizada. Después de eso, crea 4 botones y una escena. Finalmente, configure la escena y muestre los resultados.

Código:

//Java program to create HBox with padding and insets
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.layout.HBox;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.stage.Stage;
public class JavaFXHBoxExample extends Application (
//main method
public static void main(String() args) (
Application. launch (args);
)
//application starts at this point
@Override
public void start(Stage s) (
//set title
s.setTitle("HBox Sample");
// Create HBox
HBox hb = new HBox();
//set padding
hb.setPadding(new Insets(10, 50, 50, 50));
//set spacing
hb.setSpacing(10);
//create label
Label lbl = new Label("This is the HBox");
//set font properties
lbl.setFont(Font. font ("Amble CN", FontWeight. BOLD, 24));
hb.getChildren().add(lbl);
// create Buttons
Button b1 = new Button();
b1.setText(" I am Button1");
hb.getChildren().add(b1);
Button b2 = new Button();
b2.setText("I am Button2");
hb.getChildren().add(b2);
Button b3 = new Button();
b3.setText("I am Button3");
hb.getChildren().add(b3);
Button b4 = new Button();
b4.setText("I am Button4");
hb.getChildren().add(b4);
// Add HBox to the scene that is created
Scene sc = new Scene(hb);
s.setScene(sc);
s.show();
)
)

Salida:

Conclusión

JavaFX HBox es un componente que ayuda a los nodos secundarios a diseñar de manera horizontal. Además, el nuevo hijo se agregará directamente al hijo anterior.

Artículo recomendado

Esta es una guía de JavaFX HBox. Aquí discutimos los Constructores, Métodos, Propiedades de JavaFX HBox junto con la Implementación de Código. También puede consultar nuestros artículos sugeridos para obtener más información.

  1. Los 5 diseños principales de JavaFX
  2. Aplicaciones JavaFX con características
  3. JavaFX vs Swing | Comparación de los 6 principales
  4. Etiqueta JavaFX (Ejemplos)
  5. ¿Cómo crear una casilla de verificación en JavaFX con ejemplos?
  6. Ejemplos para implementar la casilla de verificación en Bootstrap
  7. Guía completa de color JavaFX
  8. JavaFX VBox | Los 15 métodos principales de JavaFX VBox