📅  最后修改于: 2023-12-03 15:01:36.558000             🧑  作者: Mango
JavaFX是用于构建丰富的、交互式的图形用户界面(GUI)的框架。在JavaFX应用程序中,主类是Application类,它负责启动应用程序并呈现初始场景。JavaFX应用程序的结构通常包括以下组件:
Application类是JavaFX应用程序的必要组件,它负责启动应用程序并呈现初始场景。Application类需要继承javafx.application.Application类,并实现start方法。start方法被用于初始化场景和场景图:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.scene.text.Text;
import javafx.stage.Stage;
public class MyApplication extends Application {
public void start(Stage primaryStage) {
Text text = new Text("Hello World!");
StackPane root = new StackPane(text);
Scene scene = new Scene(root, 300, 250);
primaryStage.setScene(scene);
primaryStage.setTitle("My Application");
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
在上面的代码中,我们创建了一个MyApplication类,它继承了javafx.application.Application类,并实现了start方法。在start方法中,我们创建了一个文本对象Text,用于显示“Hello World!”,然后创建了一个StackPane对象,用于布局Text对象。最后,我们将StackPane对象添加到场景中,并设置场景的大小。我们还设置了主舞台的标题,调用了show方法来展示场景。
Scene类表示应用程序的一个UI场景。它可以被添加到Stage对象中,以显示应用程序的内容。一个Scene对象包含了对应场景的根节点(root node)和场景的高度和宽度。一个根节点是一个Scene图形对象的顶级元素,可以是一些其他的图形对象或是一个布局容器。
StackPane root = new StackPane(text);
Scene scene = new Scene(root, 300, 250);
在上面的代码中,我们创建了一个StackPane对象作为场景的根节点,然后创建了一个场景对象,并将StackPane对象作为构造函数的第一个参数,将场景的宽度和高度分别设置为300和250。
一个Stage对象表示JavaFX应用程序的顶级窗口。它包括了应用程序各个组件的位置和大小。Stage对象是由JavaFX系统创建的,不能够通过实例化一个自定义类来创建。
primaryStage.setScene(scene);
primaryStage.setTitle("My Application");
primaryStage.show();
在上面的代码中,我们将之前创建的Scene对象设置为主舞台的场景,设置了主舞台的标题,并调用了show方法来展示场景。
Node类是JavaFX中所有节点的抽象基类。节点是指任何可见的图形对象,例如,文本、矩形、圆形和图像等。Node类提供了设置节点的坐标、宽度、高度、属性和样式等方法。
Text text = new Text("Hello World!");
StackPane root = new StackPane(text);
在上面的代码中,我们创建了一个文本对象Text,然后将其添加到StackPane对象中。
JavaFX中提供了许多不同的布局容器(Layout),用于定位和排列节点,例如,VBox、HBox、GridPane和BorderPane等。布局容器可以包含其他节点和其他布局容器。
StackPane root = new StackPane(text);
在上面的代码中,我们创建了一个StackPane对象作为场景的根节点,并将文本对象Text添加到其中。
以上是JavaFX应用程序中常用组件的介绍。在实际开发中,还可以结合CSS来为应用程序添加更多的样式和效果。