docs/CN/JavaFX-Knowledge/JavaFX-Knowledge.md
2023-10-15 12:05:46 +08:00

27 lines
2.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# JavaFX基础知识
JavaFX是Java平台上的一个框架用于创建跨平台、富客户端应用程序。它提供了丰富的UI控件、布局管理器、事件处理机制、动画效果、图形渲染等功能使得开发者可以轻松地构建出各种漂亮的用户界面并实现复杂的交互逻辑。
![JavaFX 组织架构图](img/img.png)
1. 场景Scene和节点Node
JavaFX应用程序由一个或多个场景组成每个场景包含了多个节点。节点可以是控件如按钮、文本框等或图形元素如矩形、圆形等。场景和节点的概念使得JavaFX应用程序的用户界面可以被分为多个层次从而更加灵活地进行布局和设计。
![JavaFX应用的程序基本结构](img/img_1.png)
2. FXML
JavaFX应用程序使用FXML文件来描述用户界面。FXML是一种基于XML的标记语言它定义了用户界面的结构和外观以及与之相关联的Java控制器。FXML使得界面设计和代码编写可以分别进行从而使得开发者可以更好地组织和管理代码。
3. 布局管理器Layout Manager
JavaFX提供了多种布局管理器例如VBox、HBox、BorderPane等。这些布局管理器可以帮助开发者轻松地实现不同的布局需求例如垂直、水平、边框式布局等。布局管理器还支持各种对齐方式和填充方式使得用户界面可以更加美观和规范。
4. 动画Animation
JavaFX支持动画效果可以使用Timeline类和KeyFrame类实现。Timeline类用于定义一组关键帧每个关键帧包含了一个节点属性和其对应的值。KeyFrame类用于定义某个时间点上的节点属性值从而形成动画效果。JavaFX的动画效果可以使得用户界面变得更加生动和有趣。
5. 事件处理Event Handling
JavaFX支持事件处理机制事件可以是用户输入的鼠标点击、键盘按键等也可以是系统事件如窗口大小改变。JavaFX使用事件处理程序Event Handler来响应事件。当事件发生时相应的事件处理程序会被自动调用从而可以进行一些操作或响应用户输入。
6. UI控件UI Controls
JavaFX提供了丰富的UI控件例如Button、TextField、Label、ComboBox等。这些控件可以大大简化开发者的工作量使得开发者可以更快地实现各种功能。UI控件还支持样式和主题使得用户界面可以更加美观和协调。
7. 图形渲染和3D图形处理Graphics Rendering and 3D Graphics
JavaFX支持图形渲染和3D图形处理可以创建出各种令人赏心悦目的效果。JavaFX的图形渲染可以使用Canvas类和GraphicsContext类实现而3D图形处理则可以使用JavaFX的3D API来完成。