JavaFX
界面结构
舞台(Stage)
- 舞台代表了顶级容器或窗口。它包含JavaFX应用中的所有对象。
- 它是由
Javafx.stage.Stage
类所定义的。
- 我们可以通过传递其尺寸(即:高度和宽度),来指定舞台的大小。
- 舞台被分为内容区域和装饰区域(即:标题栏和边框)。
场景(Scene)
- 场景表示JavaFX应用程序的物理内容。它包含了所有单独的控件或组件。
- 它是由
Javafx.scene.Scene
类所定义的。
- 一个应用可以有多个场景,但在任何给定时间内,舞台上只能显示一个场景。
- 场景的大小可以通过将其尺寸(即:高度和宽度)、连同根节点一起,传递给其构造函数来指定。
场景图(Scene Graph)
- 场景图是表示场景内容的树状数据结构(分层)。所有可视组件,包括:控件、布局等,都是场景图的一部分。
- 场景图组件必须被附加到待显示的场景中,并且必须被进一步附加到舞台中,才能使得整个场景可见。
节点(Nodes)
- 节点是场景图的视觉与图形对象。
- 场景图的节点是由JavaFX.scene.Node类所定义的。
- 一个节点可以包括:
- 各种几何或图形对象:2D、3D。
- 各种UI控件:Button、CheckBox、ChoiceBox、以及TextArea等。
- 各种容器或布局板式:BorderPane、GridPane、以及FlowPane等。
- 各种媒体元素:Audio、Video、以及Image对象。
- 根节点:是场景图中的第一个节点。
- 分支与父节点:诸如Group、Region、以及StackPane等,都带有各种子节点。
- 叶子节点:诸如Rectangle、Ellipse、Box、ImageView、以及MediaView等,都带有各种子节点。
HelloWorld
import javafx.application.Application;
import javafx.stage.Stage;
public class Hello extends Application{
public static void main(String[] args){
launch(args);
}
public void start(Stage stage){
stage.show();
}
}
生命周期
生命周期由javafx.application.Application类控制,在fx中,所有的组件都运行在UI线程中。
init()
:初始化方法;
start()
:开始UI线程渲染,所有的组件都需要在这个线程中声明;
stop()
:应用结束时方法。
常用API
默认浏览器打开指定链接
HostServices services = application.getHostServices();
services.showDocument("www.baidu.com");