Introdução ao JavaFX HBox

O JavaFX HBox é um componente que estabelece nós filhos de maneira horizontal. Para esta HBox, se houver inserções, o conteúdo da HBox será exibido dentro dessas inserções. A classe HBox é estendida pela classe Pane e pode ser instanciada a partir da classe JavaFX.scene.layout.HBox. Ao contrário do VBox, adicionar mais filhos não o inserirá abaixo do nó filho anterior, mas no lado direito do nó anterior.

Construtores do JavaFX HBox

Quatro construtores podem ser usados ​​para implementar o HBox em Java.

  1. HBox (): Um layout da HBox será criado com espaçamento 0.
  2. HBox (Double s): Um layout HBox será criado com o espaçamento s especificado como argumento.
  3. HBox (espaçamento duplo, filhos de nó): Um layout HBox será criado com os nós de espaçamento e filhos especificados no argumento.
  4. HBox (Nó? Filhos): Um layout HBox será criado com o espaçamento 0 e os nós filhos especificados, já que o espaçamento não está definido; neste caso, o valor padrão é 0.

Propriedades do JavaFX HBox

O JavaFX HBox possui três propriedades, como mostrado abaixo.

  • alignment: Propriedade usada para o alinhamento dos filhos que estão dentro da altura e largura da HBox.
  • fillHeight: os nós filhos redimensionáveis ​​serão redimensionados para a altura da HBox ou mantidos na altura preferida ao definir essa propriedade como verdadeira.
  • espaçamento: a quantidade de espaço horizontal entre os nós filhos no HBox será definida.

Os 15 principais métodos do JavaFX HBox

A seguir estão os métodos comumente usados ​​no JavaFX HBox.

  • getSpacing (): o valor da propriedade Spacing será retornado.
  • getHgrow (Nodechild): o valor da propriedade Hgrow será retornado.
  • setFillHeight (valor booleano): o valor da propriedade FillHeight será definido.
  • clearConstraints (Nodechild): as restrições HBox serão removidas do nó filho.
  • isFillHeight (): o valor da propriedade FillHeight será retornado.
  • setAlignment (Posvalue): o valor da propriedade Alignment será definido.
  • setSpacing (valor duplo): o valor da propriedade Spacing será definido.
  • getMargin (Nodechild): o valor da propriedade Margin será retornado.
  • spacingProperty (): o espaço horizontal entre os nós filhos no HBox será definido.
  • setMargin (Nodechild, valor Insets): a margem do filho será definida na HBox.
  • computeMinWidth (altura dupla): a largura mínima da região será calculada usando esse método.
  • computeMinHeight (largura dupla): a altura mínima da região será calculada usando esse método.
  • getAlignment (): o valor da propriedade Alignment será retornado.
  • computePrefWidth (altura dupla): a largura preferida para a região necessária para a altura especificada será calculada.
  • computePrefHeight (largura dupla): a altura preferida para a região necessária para a largura especificada será calculada.

Exemplos de JavaFX HBox

Agora, vamos ver alguns exemplos de HBox com alguns dos métodos explicados na seção acima.

Exemplo 1

Em primeiro lugar, 2 botões b1 e b2 são criados com o texto 'Sample button 1 for HBox' e 'Sample button 2 for HBox'. Em seguida, crie uma HBox e uma cena. Após definir a cena, os resultados serão exibidos.

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);
)
)

Resultado:

Exemplo 2

Primeiro, crie uma HBox e um rótulo. Em seguida, adicione o rótulo criado à HBox. Crie botões usando um loop for, para que a sintaxe de criação dos botões não precise ser gravada novamente. Crie uma cena e defina-a. Depois de definir a cena, os botões serão exibidos no 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);
)
)

Resultado:

Exemplo 3

Em primeiro lugar, a HBox é criada com preenchimento e conjunto de inserções. Em seguida, crie um rótulo com uma fonte personalizada. Depois disso, crie 4 botões e uma cena. Por fim, defina a cena e exiba os 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();
)
)

Resultado:

Conclusão

O JavaFX HBox é um componente que ajuda os nós filhos a fazer o layout de maneira horizontal. Além disso, o novo filho será adicionado diretamente ao filho anterior.

Artigo recomendado

Este é um guia para o JavaFX HBox. Aqui discutimos os construtores, métodos, propriedades do JavaFX HBox e a implementação de código. você também pode consultar nossos artigos sugeridos para saber mais -

  1. Os 5 principais layouts JavaFX
  2. Aplicativos JavaFX com recursos
  3. JavaFX vs Swing | Top 6 Comparação
  4. Etiqueta JavaFX (exemplos)
  5. Como criar a caixa de seleção no JavaFX com exemplos?
  6. Exemplos para implementar a caixa de seleção no Bootstrap
  7. Guia completo para JavaFX Color
  8. JavaFX VBox | Os 15 principais métodos do JavaFX VBox