Use el método setAlignment en JavaFX
HBox es un componente de diseño que posiciona todos los componentes. Por defecto, organizará todos los componentes en una fila horizontal, pero a veces es posible que necesitemos alinearlo a la izquierda, derecha, centro, arriba, botón, etc.
En este artículo veremos cómo podemos alinear el HBox
en nuestro propio formato. Veremos un ejemplo y lo explicaremos línea por línea para que sea más fácil de entender.
Use el método setAlignment()
en JavaFX
Las bibliotecas que vamos a utilizar en nuestro ejemplo son las siguientes:
import javafx.application.Application; // Package for the whole application
import javafx.geometry.Pos; // Geometric positioning Package for the variable "Pos"
import javafx.scene.Scene; // Package for the scene
import javafx.scene.control.Button; // Package for the button
import javafx.scene.layout.HBox; // The HBox Package
import javafx.stage.Stage; // Package for the stage
Estas son las librerías necesarias que debemos incluir, y el propósito fue comentado en el código. Ahora, vamos a describir todo el código.
Nuestro código principal se verá como el siguiente, y el propósito de cada línea se comenta al lado:
public class FxHBox extends Application { // Our main class extends to the Application class
Button buttonOne, buttonTwo; // Declared two buttons
HBox _hbox; // Declared a HBox
Scene scene; // Declared a scene
public void start(Stage BasicStage)
throws Exception { // We have to use Exception Handling here as it can generate errors if
// anything goes wrong.
BasicStage.setTitle("HBox Set Allignment"); // Set the title of the application
buttonOne = new Button("Button 1"); // Created button 1 with title
buttonTwo = new Button("Button 2"); // Created button 2 with title
_hbox = new HBox(buttonOne,
buttonTwo); // Created an HBox element that holds the two buttons buttonOne & buttonTwo
_hbox.setAlignment(
Pos.CENTER); // Here we are customizing the default alignment and place our componet in
// center. Here 'Pos' provides the geometic allignment.
scene = new Scene(_hbox, 400, 300); // Creates the scene with necessary heights and weights
BasicStage.setScene(scene); // Set the scene
BasicStage.show(); // Visualize the scene
}
public static void main(String[] args) {
Application.launch(args); // Launch the application
}
}
El punto principal que debe tener en cuenta aquí es cómo se utilizó el método setAlignment()
. A través de este, podemos personalizar la posición del Hbox.
Hay varias alineaciones que podemos proporcionar a nuestros elementos. Estos se enumeran a continuación:
Posiciones | Descripción |
---|---|
Pos.BASELINE_LEFT |
Alinear verticalmente Línea de base Alinear horizontalmente a la izquierda |
Pos.BASELINE_CENTER |
Alinear verticalmente Línea base Alinear horizontalmente Centro |
Pos.BASELINE_RIGHT |
Alinear verticalmente Línea de base Alinear horizontalmente a la derecha |
Pos.BOTTOM_LEFT |
Alinear verticalmente abajo Alinear horizontalmente a la izquierda |
Pos.BOTTOM_CENTER |
Alinear verticalmente Abajo Alinear horizontalmente Centro |
Pos.BOTTOM_RIGHT |
Alinear verticalmente abajo Alinear horizontalmente a la derecha |
Pos.CENTER_LEFT |
Alinear verticalmente al centro Alinear horizontalmente a la izquierda |
Pos.CENTER |
Alinear verticalmente al centro Alinear horizontalmente al centro |
Pos.CENTER_RIGHT |
Alinear verticalmente al centro Alinear horizontalmente a la derecha |
Pos.TOP_LEFT |
Alinear verticalmente arriba Alinear horizontalmente a la izquierda |
Pos.TOP_CENTER |
Alinear verticalmente Arriba Alinear horizontalmente Centro |
Pos.TOP_RIGHT |
Alinear verticalmente arriba Alinear horizontalmente a la derecha |
Ahora veamos la vista total de nuestro código de ejemplo y su salida. Puede copiar y pegar el código a continuación para realizar una prueba.
import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;
public class FxHBox extends Application {
Button buttonOne, buttonTwo;
HBox _hbox;
Scene scene;
public void start(Stage BasicStage) throws Exception {
BasicStage.setTitle("HBox Set Allignment");
buttonOne = new Button("Button 1");
buttonTwo = new Button("Button 2");
_hbox = new HBox(buttonOne, buttonTwo);
_hbox.setAlignment(Pos.CENTER);
scene = new Scene(_hbox, 400, 300);
BasicStage.setScene(scene);
BasicStage.show();
}
public static void main(String[] args) {
Application.launch(args);
}
}
Después de una compilación y ejecución exitosas, obtendrá un resultado como el siguiente:
Recuerde, si su IDE no admite la inclusión automática de bibliotecas, es posible que deba incluir los archivos de biblioteca necesarios manualmente antes de compilar.
Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.
LinkedIn