StackPane类是JavaFX的一部分。StackPane类以堆栈的形式布置其子类。新节点放置在StackPane中上一个节点的顶部。StackPane类继承 窗格类 .
null
类的构造函数:
- StackPane() :创建一个新的空堆栈窗格。
- StackPane(节点…c) :创建具有指定节点的新StackPne。
常用方法:
方法 | 解释 |
---|---|
getAlignment() | 返回堆栈窗格的对齐方式。 |
getAlignment(节点c) | 返回节点的对齐方式。 |
getMargin(节点c) | 返回节点的插入。 |
设置对齐(节点n,位置v) | 设置作为StackPane一部分的节点的对齐方式。 |
设置对齐(位置v) | 设置堆栈窗格的对齐方式。 |
setMargin(节点n,插图v) | 设置作为StackPane一部分的节点的边距。 |
下面的程序演示了StackPane类的使用:
- Java程序创建StackPane,添加圆形、标签、矩形并将其添加到舞台: 在这个程序中,我们将创建一个名为 标签 ,一个名为 长方形 还有一个叫 圆圈 。然后使用 setFont() 作用现在使用 setFill() 作用然后我们将创建一个名为 堆叠窗格 并添加矩形、圆形和标签。创建场景并将“堆栈”窗格添加到场景中。将此场景添加到舞台并调用 show() 函数来显示最终结果。
// Java Program to create a StackPane,
// add circle, label, rectangle
// and add it to the stage
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.scene.paint.*;
import
javafx.scene.canvas.*;
import
javafx.scene.text.*;
import
javafx.scene.Group;
import
javafx.scene.shape.*;
public
class
StackPane_1
extends
Application {
// launch the application
public
void
start(Stage stage)
{
try
{
// set title for the stage
stage.setTitle(
"StackPane"
);
// create a label
Label label =
new
Label(
"this is StackPane example"
);
// set Font for label
label.setFont(
new
Font(
30
));
// create a circle
Circle circle =
new
Circle(
100
,
100
,
70
);
// set fill for the circle
circle.setFill(Color.RED);
// create Rectangle
Rectangle rectangle =
new
Rectangle(
100
,
100
,
180
,
160
);
// set fill for rectangle
rectangle.setFill(Color.BLUE);
// create a stack pane
StackPane stack_pane =
new
StackPane(rectangle, circle, label);
// create a scene
Scene scene =
new
Scene(stack_pane,
400
,
300
);
// set the scene
stage.setScene(scene);
stage.show();
}
catch
(Exception e) {
System.out.println(e.getMessage());
}
}
// Main Method
public
static
void
main(String args[])
{
// launch the application
launch(args);
}
}
输出:
- Java程序创建StackPane,添加圆形、标签、矩形,然后设置StackPane的对齐方式,并将其添加到舞台: 在这个程序中,我们将创建一个名为 标签 ,一个名为 长方形 还有一个叫 圆圈 。然后使用 setFont() 作用使用 setFill() 作用现在创建一个名为 堆叠窗格 并添加矩形、圆形和标签。使用设置堆栈窗格的对齐方式 setAlignment() 作用创建场景并将“堆栈”窗格添加到场景中。最后,将这个场景添加到舞台上,并调用 show() 函数来显示结果。
// Java Program to create a StackPane,
// add the circle, label, rectangle and
// then set the alignment of the StackPane
// and add it to the stage
import
javafx.application.Application;
import
javafx.scene.Scene;
import
javafx.scene.control.*;
import
javafx.scene.layout.*;
import
javafx.stage.Stage;
import
javafx.geometry.*;
import
javafx.scene.paint.*;
import
javafx.scene.canvas.*;
import
javafx.scene.text.*;
import
javafx.scene.Group;
import
javafx.scene.shape.*;
public
class
StackPane_2
extends
Application {
// launch the application
public
void
start(Stage stage)
{
try
{
// set title for the stage
stage.setTitle(
"StackPane"
);
// create a label
Label label =
new
Label(
"this is StackPane example"
);
// set Font for label
label.setFont(
new
Font(
30
));
// create a circle
Circle circle =
new
Circle(
100
,
100
,
70
);
// set fill for the circle
circle.setFill(Color.RED);
// create Rectangle
Rectangle rectangle =
new
Rectangle(
100
,
100
,
180
,
160
);
// set fill for rectangle
rectangle.setFill(Color.BLUE);
// create a stack pane
StackPane stack_pane =
new
StackPane(rectangle, circle, label);
// set alignement for the stack pane
stack_pane.setAlignment(Pos.TOP_CENTER);
// create a scene
Scene scene =
new
Scene(stack_pane,
400
,
300
);
// set the scene
stage.setScene(scene);
stage.show();
}
catch
(Exception e) {
System.out.println(e.getMessage());
}
}
// Main Method
public
static
void
main(String args[])
{
// launch the application
launch(args);
}
}
输出:
注: 以上程序可能无法在联机IDE中运行,请使用脱机编译器。
参考: https://docs.oracle.com/javase/8/javafx/api/javafx/scene/layout/StackPane.html
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END