Johdanto JavaFX StackPane -sovellukseen

Java StackPane on kontti, joka asettaa lapsensa pinottuina muille. Sisältöalue täytetään muuttamalla lasten kokoa ja jos lasten solmut eivät pysty muuttamaan kokoa, käytetään Pos.CENTERiä, joka on oletusarvoinen kohdistusominaisuus. Normaalisti lapsisolmujen kokoa ei pystytä muuttamaan, kun enimmäiskoko esti sitä. Java Stack Pane voidaan välittää luokasta javafx.scene.layout.StackPane. Kun pehmuste on asetettu, lapsisolmut asetetaan vain sisäkkäin. Syntaksia, rakentajia ja useita muita JavaFX StackPane -ohjelman näkökohtia käsitellään seuraavissa osioissa.

Syntaksi:

JavaFX: ssä StackPane voidaan luoda alla olevan kuvan mukaisesti.

StackPane sp = new StackPane();

Varmista aina, että luokka javafx.scene.layout.StackPane on tuotu ohjelmaan ennen koodin suorittamista.

JavaFX StackPane -sovelluksen rakentajat ja ominaisuudet

Jäljempänä olemme keskustelleet javafx-pinokaasun rakentajista ja ominaisuuksista:

Constructors

JavaFX StackPane -sovellukselle on kaksi rakentajaa. He ovat:

  • StackPane (): StackPane-asettelu luodaan oletusarvoisella kohdistuksella. JavaFX StackPane -sovelluksessa CENTERiä pidetään oletuskohdistuksena.
  • StackPane (Solmu…. Nd ): StackPane-asettelu luodaan oletusarvoisella kohdistuksella.

ominaisuudet

Java StackPane -sovelluksessa on ominaisuuskohdistus, jota käytetään lasten kohdistamiseen StackPane-korkeuden ja -leveyden sisällä.

StackPane-menetelmät

Java StackPane -sovelluksessa on useita menetelmiä, jotka suorittavat erilaisia ​​toimintoja. Joitakin yleisesti käytettyjä menetelmiä selitetään alla:

  • clearConstraints (Nodechild): StackPane-rajoitukset poistetaan lapsisolmusta.
  • computeMinWidth (kaksinkertainen korkeus): Alueen vähimmäisleveys lasketaan tällä menetelmällä.
  • computeMinHeight (kaksinkertainen leveys): Alueen minimikorkeus lasketaan tällä menetelmällä.
  • getAlignment (): Kohdistusominaisuuden arvo palautetaan.
  • setAlignment (Posvalue): Kohdistusominaisuuden arvo asetetaan.
  • setAlignment (Solmu lapsi, Posvalue): Kohdistusominaisuuden arvo asetetaan pinopaikassa olevalle lapselle.
  • getMargin (Nodechild): Marginaalirajoitusten arvo palautetaan.
  • computePrefWidth (kaksinkertainen korkeus): Lasketaan haluttu alue, jota tarvitaan tietylle korkeudelle.
  • computePrefHeight (kaksinkertainen leveys): Lasketaan alueen haluttu korkeus, jota tarvitaan annetulle leveydelle.

Ohjelma JavaFX StackPane -sovelluksen toteuttamiseksi

Katsotaanpa nyt erilaisia ​​JavaFX-ohjelmia JavaFX StackPane -sovelluksen toteuttamiseksi.

Ohjelma # 1

//java program to demonstrate stack pane
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class JavaFXStackPaneExample extends Application (
//application starts at this point
@Override
public void start(Stage s) throws Exception (
//create button 1
Button b1 = new Button(" This button is on the bottom ");
//create button 2
Button b2 = new Button("This button is on the top");
//create stackpane
StackPane r = new StackPane();
//create scene
Scene sc = new Scene(r, 200, 200);
r.getChildren().addAll(b1, b2);
//set the scene
s.setScene(sc);
//display the result
s.show();
)
public static void main(String() args) (
launch(args);
)
)

lähtö:

StackPane luodaan kahdella painikkeella. Kuten näette, yksi painike on toisen painikkeen päällä, joka täyttää StackPane-järjestelmän ehdot.

Ohjelma # 2

//java program to demonstrate stack pane with the help of shapes
import javafx.application.Application;
import javafx.collections.ObservableList;
import javafx.geometry.Insets;
//package for different shapes
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.scene.paint.Color;
import javafx.scene.shape.Circle;
import javafx.scene.shape.Sphere;
//packages for the text font, size etc
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
import javafx.stage.Stage;
//sample classs that extends Application class
public class JavaFXStackPaneExample extends Application (
//application starts at this point
@Override
public void start(Stage s) (
//Create a text
Text txt = new Text("This is an example of Stackpane");
//Set the font of the above created text
txt.setFont(Font.font(null, FontWeight.BOLD, 20));
//Set the color of the text
txt.setFill(Color.GREEN);
//set the position of the text
txt.setX(20);
txt.setY(50);
//Draw a circle
Circle c = new Circle(400, 200, 100);
//fill color
c.setFill(Color.RED);
//stroke color
c.setStroke(Color.BLACK);
//Draw Sphere
Sphere sp = new Sphere(30);
//Create a Stackpane
StackPane spn = new StackPane();
//Set the margin for the above circle
spn.setMargin(c, new Insets(50, 50, 50, 50));
ObservableList li = spn.getChildren();
//Add the created child nodes to the pane
li.addAll(c, sp, txt);
//Create a scene
Scene sc = new Scene(spn);
//Set title
s.setTitle("Stack Pane Sample");
//Add scene to the stage
s.setScene(sc);
//Display the results
s.show();
)
public static void main(String args())(
launch(args);
)
)

lähtö:

StackPane luodaan yhdellä ympyrällä, 1 pallalla ja tekstillä. Kaikki nämä makaavat muiden päällä, missä teksti on ylin.

Ohjelma # 3

import javafx.application.Application;
import javafx.collections.ObservableList;
import javafx.scene.control.Button;
import javafx.scene.control.CheckBox;
import javafx.scene.control.Label;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Node;
import javafx.scene.Scene;
public class JavaFXStackPaneExample extends Application (
private StackPane sp;
//application starts at this point
@Override
public void start(Stage s) throws Exception (
VBox r = new VBox();
// create StackPane
sp = new StackPane();
// Add Label
Label lb = new Label("Hi . . I am a label ..!!");
//set visibility as false
lb.setVisible(false);
sp.getChildren().add(lb);
// Add Button
Button b = new Button("Hi .. I'm a Button.. ");
//set visibility as false
b.setVisible(false);
sp.getChildren().add(b);
// Add CheckBox and set its opacity and visibility
CheckBox cb = new CheckBox("Hi… I'm a CheckBox");
//set opacity
cb.setOpacity(1);
//set visibility as true
cb.setVisible(true);
sp.getChildren().add(cb);
sp.setPrefSize(400, 150);
r.getChildren().add(sp);
Button cbtn = new Button("Click me");
r.getChildren().add(cbtn);
r.setAlignment(Pos.CENTER);
Scene sc = new Scene(r, 600, 250);
s.setTitle("StackPane Sample");
s.setScene(sc);
//action to be performed on clicking the button
cbtn.setOnAction(new EventHandler() (
@Override
public void handle(ActionEvent ev) (
//declaration of function
functopchange();
)
));
s.show();
)
//definition of function
private void functopchange() (
ObservableList nd = this.sp.getChildren();
if (nd.size() > 1) (
//top node
Node tN = nd.get(nd.size()-1);
//new top node
Node ntN = nd.get(nd.size()-2);
tN.setVisible(false);
tN.toBack();
ntN.setVisible(true);
)
)
public static void main(String() args) (
launch(args);
)
)

Tulos:

Koodia suoritettaessa näyttöön tulee valintaikkuna, jossa on valintaruutu ja -painike.

Napsauttamalla Napsauta minua -painiketta, valintaruutu korvataan painikkeella.

Jos napsautat painiketta uudelleen, etiketti tulee näkyviin.

Suositellut artikkelit

Tämä on opas JavaFx StackPane -sovellukseen. Tässä keskustellaan JavaFx StackPane -järjestelmän rakentajista ja ominaisuuksista, menetelmistä eri ohjelmien kanssa. Voit myös käydä läpi muiden ehdotettujen artikkeleidemme saadaksesi lisätietoja -

  1. JavaFX-painikkeen rakentajat
  2. JavaFx-sovelluksen rakenne
  3. 5 suosituinta JavaFX-asettelua
  4. Syntaksia käytetään JavaFX-etiketissä