Sissejuhatus JavaFX-i paigutustesse

Kasutajaliidese kujundus on liidese kujunduse keskpunkt. Paljud graafilise kasutajaliidese raamistikud pakuvad tuge API-de (rakenduste programmeerimisliidesed) vormis paigutustele. Ka JavaFX-is pakutakse rikkalikku arvu paigutusi, mis aitab täita paljusid piiranguid, et käsitleda ühtlast välimust. Sel juhul tuleb seada ainult minimaalne parameetrite arv. Paigutused võivad olla erinevat tüüpi ja seda selgitatakse üksikasjalikult järgmistes osades.

5 parimat JavaFX-i paigutust

Nagu juba arutatud, võivad JavaFXi paigutused olla erinevat tüüpi, näiteks VBox, HBox, BorderPane, FlowPane, StackPane, AnchorPane, TilePane, GridPane jne. Selles jaotises käsitleme neist viit.

1. VBox

VBox aitab sõlme vertikaalses veerus korraldada. Selles osas saab sisuala vaikekõrgus kuvada lapsi oma eelistatud kõrguses ja vaikimislaius on laste laiusest suurim. Kuigi asukohti ei saa lastele määrata, kuna see arvutatakse automaatselt, saab seda mingil määral kontrollida VBoxi omaduste kohandamise abil.

Kood:

// Java Program to create a VBox
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.*;
import javafx.stage.Stage;
public class JFXLayouts extends Application (
// start method helps in launching the application
public void start(Stage stage)
(
// Title set
stage.setTitle("Example for VBox");
// VBox creation
VBox vb = new VBox(10);
// Label creation
Label lb = new Label("this is VBox example");
// Add the created label to vbox
vb.getChildren().add(lb);
// add the buttons to VBox
vb.getChildren().add(new Button("Click A"));
vb.getChildren().add(new Button("Click B"));
vb.getChildren().add(new Button("Click C"));
// Scene creation
Scene scene = new Scene(vb, 300, 300);
// Scene setting
stage.setScene(scene);
stage.show();
)
// Main Method
public static void main(String args())
(
//method to launch the JavaFX application
launch(args);
)
)

Väljund:

Siin on 3 nuppu A, B ja C paigutatud horisontaalselt.

2. HBox

HBox töötab VBoxi vastupidises kontseptsioonis. See tähendab, et sõlmed korraldatakse horisontaalselt. Järgnev on programm, mis aitab HBoxist aru saada.

Kood:

// Java Program to create an HBox
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.*;
import javafx.stage.Stage;
public class JFXLayouts extends Application (
// start method helps in launching the application
public void start(Stage stage)
(
// Title set
stage.setTitle("Example for HBox");
// HBox creation
HBox hb = new HBox(10);
// Label creation
Label lb = new Label("this is HBox example");
// Add the created label to Hbox
hb.getChildren().add(lb);
// add the buttons to Hbox
hb.getChildren().add(new Button("Click A"));
hb.getChildren().add(new Button("Click B"));
hb.getChildren().add(new Button("Click C"));// Scene creation
Scene scene = new Scene(hb, 300, 300);
// Scene setting
stage.setScene(scene);
stage.show();
)
// Main Method
public static void main(String args())
(
//method to launch the JavaFX application
launch(args);
)
)

Väljund:

Sel juhul on 3 nuppu A, B ja C paigutatud horisontaalselt.

3. BorderPane

Selles paigutusstruktuuris on viis piirkonda, näiteks TOP, BOTTOM, CENTER, LEFT ja RIGHT.

Kood:

// Java Program to create an BorderPane
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.*;
import javafx.stage.Stage;
public class JFXLayouts extends Application (
// start method helps in launching the application
public void start(Stage stage)
(
BorderPane bp = new BorderPane();
bp.setTop(new TextField("A-Top"));
bp.setBottom(new TextField("B-Bottom"));
bp.setLeft(new TextField("C-Left"));
bp.setRight(new TextField("D-Right"));
bp.setCenter(new TextField("E-Center"));// Scene creation
Scene scene = new Scene(bp);// Title set
stage.setTitle("Example for BorderPane");
// Scene setting
stage.setScene(scene);
stage.show();
)
// Main Method
public static void main(String args())
(
//method to launch the JavaFX application
launch(args);
)
)

Väljund:

Siin saadetakse paani viies suunas uuesti 5 tekstivälja.

4. FlowPane

FlowPane võimaldab kasutajal sõlme järjestikku paigutada ja mähitakse sõlme piiril. Siin võivad sõlmed olla vertikaalsuunas (veerud) või horisontaalsuunas (read).

Kood:

// Java Program to create a flowpane
import javafx.application.Application;
import javafx.collections.ObservableList;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.FlowPane;
import javafx.scene.shape.Sphere;
import javafx.stage.Stage;
public class JFXLayouts extends Application (
// start method helps in launching the application
public void start(Stage stage)
(
//create buttons
Button b1 = new Button("Button A");
Button b2 = new Button("Button B");
Button b3 = new Button("Button C");
Button b4 = new Button("Button D");
//Flow Pane creation
FlowPane fp = new FlowPane();
//Set horizontal gap
fp.setHgap(25);
//Set margin
fp.setMargin(b1, new Insets(20, 0, 20, 20));
ObservableList list = fp.getChildren();
//Add nodes to the flow pane
list.addAll(b1, b2, b3, b4);
// Scene creation
Scene scene = new Scene(fp);
// Title set
stage.setTitle("Example for BorderPane");
// Scene setting
stage.setScene(scene);
stage.show();
)
// Main Method
public static void main(String args())
(
//method to launch the JavaFX application
launch(args);
)
)

Väljund:

5. StackPane

Selle paigutuse korral on kõik sõlmed paigutatud ühte virna. See tähendab, et sõlmed on paigutatud täpselt nagu virnas, teise peal.

Kood:

// Java Program to create a flowpane
import javafx.application.Application;
import javafx.scene.shape.Sphere;
import javafx.collections.ObservableList;
import javafx.scene.text.Font;
import javafx.geometry.Insets;
import javafx.scene.text.FontWeight;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.scene.shape.Circle;
import javafx.scene.text.Text;
import javafx.stage.Stage;
import javafx.scene.paint.Color;
public class JFXLayouts extends Application (
@Override
public void start(Stage stage) (
//draw a sphere
Sphere sph = new Sphere(50);
//text creation
Text t = new Text("DEMO");
//Set font of the text
t.setFont(Font.font(null, FontWeight.BOLD, 13));
//Set color of the text
t.setFill(Color.RED);
//set position of the text
t.setX(20);
t.setY(50);
//Create a Stackpane
StackPane sp = new StackPane();
ObservableList list = sp.getChildren();
//Add nodes to the pane
list.addAll( sph, t);
// Scene creation
Scene scene = new Scene(sp);
// Title set
stage.setTitle("Example for BorderPane");
// Scene setting
stage.setScene(scene);
stage.show();
)
// Main Method
public static void main(String args())
(
//method to launch the JavaFX application
launch(args);
)
)

Väljund:

Järeldus

JavaFXi küljendused aitavad luua liidese kujunduse ühtlases välimuses. Paigutused võivad olla erinevat tüüpi ja neid saab valida vastavalt kasutaja vajadustele. Selles dokumendis käsitletakse üksikasjalikult viit JavaFX-i paigutust.

Soovitatavad artiklid

See on JavaFX-paigutuste juhend. Siin käsitleme JavaFX 5 peamist paigutust nagu VBox, HBox, BorderPane, FlowPane ja StackPane koos näidete ja koodi rakendamisega. Lisateabe saamiseks võite vaadata ka järgmisi artikleid -

  1. Break avaldus Java
  2. JList Java
  3. JPanel Java
  4. Loopi jaoks Java
  5. JavaFX Labeli täielik juhend
  6. Break avaldus JavaScriptis
  7. HTML-i paigutus
  8. Tüübid ja kuidas JavaFxi diagramme luua?
  9. Kuidas JavaFX-tekstiväljale teksti sisestada?
  10. JavaFx Buttoni konstruktorid ja meetodid
  11. JavaFXis HBoxi 15 parimat meetodit
  12. Kuidas luua JavaFX-is ruut näidetega?
  13. JavaFX VBox | JavaFX VBoxi meetodid
  14. JavaFX StackPane erinevad meetodid

Kategooria: