Introduksjon til JavaFX-oppsett
Brukergrensesnittoppsett er sentrum for grensesnittdesign. Mange av rammene for grafisk brukergrensesnitt tilbyr støtte for oppsett i form av API-er (Application Programming Interfaces). I JavaFX er det også et rikt antall utforminger som hjelper deg med å oppfylle mange av begrensningene for å takle det jevnlige utseendet og preget. Bare det minste antall parametere trenger å angis i dette tilfellet. Oppsett kan være av forskjellige typer, og det blir forklart i de følgende seksjonene i detalj.
Topp 5 JavaFX-oppsett
Som allerede diskutert, kan oppsett av JavaFX være av forskjellige typer som VBox, HBox, BorderPane, FlowPane, StackPane, AnchorPane, TilePane, GridPane, etc. I denne delen skal vi diskutere fem av dem.
1. VBox
VBox hjelper med å organisere noden i en vertikal kolonne. I dette kan innholdsområdets standardhøyde vise barna i den foretrukne høyden, og standardbredden er den største av barnas bredde. Selv om lokasjonene ikke kan stilles inn for barna, siden det automatisk beregnes, kan det kontrolleres i en grad ved tilpasning av VBox-egenskaper.
Kode:
// 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);
)
)
Produksjon:
Her er 3 knapper A, B og C ordnet på en horisontal måte.
2. HBox
HBox fungerer i det motsatte konseptet av VBox. Det vil si at noder blir organisert horisontalt. Følgende er et program som hjelper deg med å forstå HBox.
Kode:
// 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);
)
)
Produksjon:
I dette tilfellet er 3 knapper A, B og C anordnet på en horisontal måte.
3. BorderPane
I dette har layoutstrukturen fem regioner som TOPP, BOTTOM, CENTRE, VENSTRE og HØYRE.
Kode:
// 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);
)
)
Produksjon:
Her sendes 5 tekstfelt på nytt i rutenes fem retninger.
4. FlowPane
FlowPane tillater brukeren å opprette nodene på en sammenhengende måte og pakke nodene ved grensen. Her kan nodene være i vertikal retning (kolonner) eller horisontal retning (rader).
Kode:
// 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);
)
)
Produksjon:
5. StackPane
I denne layouten er alle noder plassert i en enkelt stabel. Det vil si at noder er ordnet akkurat som i en stabel, oppå en annen.
Kode:
// 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);
)
)
Produksjon:
Konklusjon
JavaFX Layouts er med på å lage grensesnittdesignen i en jevn look and feel. Oppsett kan være av forskjellige typer, og de kan velges ut fra brukerens krav. I dette dokumentet diskuteres fem av JavaFX-layoutene i detalj.
Anbefalte artikler
Dette er en guide til JavaFX-oppsett. Her diskuterer vi de 5 beste layoutene av JavaFX som VBox, HBox, BorderPane, FlowPane og StackPane sammen med eksempler og implementering av kode. Du kan også se på følgende artikler for å lære mer -
- Brudderklæring i Java
- JList i Java
- JPanel i Java
- For Loop i Java
- Komplett guide til JavaFX-etikett
- Brudderklæring i JavaScript
- HTML-oppsett
- Typer og hvordan lage JavaFx-diagrammer?
- Hvordan legge inn tekst i JavaFX TextField?
- Konstruktører og metoder for JavaFx-knapp
- Topp 15 metoder for HBox i JavaFX
- Hvordan lage avkrysningsrute i JavaFX med eksempler?
- JavaFX VBox | Metoder for JavaFX VBox
- Ulike metoder for JavaFX StackPane