Inleiding tot JavaFX HBox

JavaFX HBox is een component die onderliggende knooppunten op een horizontale manier plaatst. Voor deze HBox wordt, indien er insets aanwezig zijn, de inhoud van HBox binnen die insets weergegeven. HBox-klasse wordt uitgebreid met de klasse Pane en kan worden geïnstantieerd vanuit de klasse JavaFX.scene.layout.HBox. In tegenstelling tot VBox zal het toevoegen van meer kinderen het niet onder het vorige onderliggende knooppunt invoegen, maar aan de rechterkant van het vorige.

Constructors van JavaFX HBox

Vier constructors kunnen worden gebruikt om HBox in Java te implementeren.

  1. HBox (): een HBox-lay-out wordt gemaakt met 0 spatiëring.
  2. HBox (dubbele s): er wordt een HBox-lay-out gemaakt met de tussenruimte s opgegeven als het argument.
  3. HBox (dubbele spatiëring, knooppuntkinderen): er wordt een HBox-lay-out gemaakt met de tussenruimte en onderliggende knooppunten die in het argument zijn opgegeven.
  4. HBox (Node? Children): Er wordt een HBox-lay-out gemaakt met de afstand 0 en onderliggende knooppunten, omdat de afstand niet is ingesteld. Hier is de standaardwaarde 0.

Eigenschappen van JavaFX HBox

JavaFX HBox heeft drie eigenschappen zoals hieronder weergegeven.

  • uitlijning: eigenschap die wordt gebruikt voor de uitlijning van de kinderen die zich binnen de hoogte en breedte van HBox bevindt.
  • fillHeight: Resizable kinderknooppunten worden aangepast aan de HBox-hoogte of op de gewenste hoogte gehouden bij het instellen van deze eigenschap als waar.
  • spatiëring: de hoeveelheid horizontale ruimte tussen de onderliggende knooppunten in HBox wordt ingesteld.

Top 15 methoden van JavaFX HBox

Hier volgen de veelgebruikte methoden in JavaFX HBox.

  • getSpacing (): de waarde van de eigenschap Spacing wordt geretourneerd.
  • getHgrow (Nodechild): de waarde van de eigenschap Hgrow wordt geretourneerd.
  • setFillHeight (boolean value): de waarde van de eigenschap FillHeight wordt ingesteld.
  • clearConstraints (Nodechild): HBox-beperkingen worden verwijderd uit het onderliggende knooppunt.
  • isFillHeight (): de waarde van de eigenschap FillHeight wordt geretourneerd.
  • setAlignment (Posvalue): de waarde van de eigenschap Alignment wordt ingesteld.
  • setSpacing (dubbele waarde): de waarde van de eigenschap Spacing wordt ingesteld.
  • getMargin (Nodechild): de waarde van de marge-eigenschap wordt geretourneerd.
  • spacingProperty (): de horizontale ruimte tussen de onderliggende knooppunten in HBox wordt ingesteld.
  • setMargin (Nodechild, Insets-waarde): de marge voor het kind wordt ingesteld in de HBox.
  • computeMinWidth (dubbele hoogte): de minimale breedte van het gebied wordt met deze methode berekend.
  • computeMinHeight (dubbele breedte): de minimale hoogte van het gebied wordt met deze methode berekend.
  • getAlignment (): de waarde van de eigenschap Alignment wordt geretourneerd.
  • computePrefWidth (dubbele hoogte): de gewenste breedte voor het gebied dat nodig is voor de gegeven hoogte wordt berekend.
  • computePrefHeight (dubbele breedte): de gewenste hoogte voor het gebied dat nodig is voor de gegeven breedte wordt berekend.

Voorbeelden van JavaFX HBox

Laten we nu enkele voorbeelden van HBox bekijken met enkele van de methoden die in de bovenstaande sectie zijn uitgelegd.

Voorbeeld 1

Ten eerste worden 2 knoppen b1 en b2 gemaakt met de tekst 'Voorbeeldknop 1 voor HBox' en 'Voorbeeldknop 2 voor HBox'. Maak vervolgens een HBox en een scène. Na het instellen van de scène worden de resultaten weergegeven.

Code:

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

Output:

Voorbeeld 2

Maak eerst een HBox en een label. Voeg vervolgens het gemaakte label toe aan HBox. Maak knoppen met een for-lus, zodat de syntaxis voor het maken van knoppen niet opnieuw hoeft te worden geschreven. Maak een scène en stel deze in. Na het instellen van de scène worden knoppen in het midden weergegeven.

Code:

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

Output:

Voorbeeld 3

Ten eerste is HBox gemaakt met opvulling en inzetstukken. Maak vervolgens een label met een aangepast lettertype. Maak daarna 4 knoppen en een scène. Stel ten slotte de scène in en geef de resultaten weer.

Code:

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

Output:

Conclusie

JavaFX HBox is een component die het kind helpt om op een horizontale manier op te maken. Ook wordt het nieuwe kind recht aan het vorige kind toegevoegd.

Aanbevolen artikel

Dit is een handleiding voor JavaFX HBox. Hier bespreken we de Constructors, Methods, Properties van JavaFX HBox samen met Code Implementation. u kunt ook onze voorgestelde artikelen doornemen voor meer informatie -

  1. Top 5 JavaFX-indelingen
  2. JavaFX-toepassingen met functies
  3. JavaFX vs Swing | Top 6 vergelijking
  4. JavaFX-label (voorbeelden)
  5. Hoe maak je een checkbox in JavaFX met voorbeelden?
  6. Voorbeelden om Checkbox in Bootstrap te implementeren
  7. Volledige gids voor JavaFX Color
  8. JavaFX VBox | Top 15 methoden van JavaFX VBox