From 2fd9e71b95ad0c65c5fa9ebd69c2a030754ee1e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=AE=B8=E8=BD=B2?= Date: Mon, 2 Oct 2023 03:02:38 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0JavaFX=E5=9F=BA=E7=A1=80?= =?UTF-8?q?=E7=9F=A5=E8=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- zh-cn/doc/JCNC开发者文档.md | 18 ----------- .../Git常用命令}/Git常用命令.md | 0 .../JCNC开发者文档/JCNC开发者文档.md | 20 +++++++++++++ .../JNotepad项目文档/JNotepad开发者文档.md | 15 ++++++++++ .../JNotepad项目文档/JNotepad项目文档.md | 11 ------- .../JavaFX基础知识/JavaFX基础知识.md | 28 ++++++++++++++++++ .../JCNC项目开发流程/JavaFX基础知识/img.png | Bin 0 -> 32650 bytes .../JCNC项目开发流程/JavaFX基础知识/img_1.png | Bin 0 -> 193422 bytes .../JCNC项目开发流程/构建和打包/构建和打包.md | 1 + .../构建首个JavaFX应用.md} | 21 +++++++------ .../第一次接触开源项目}/第一次接触开源项目.md | 2 +- 12 files changed, 76 insertions(+), 42 deletions(-) delete mode 100644 zh-cn/doc/JCNC开发者文档.md rename zh-cn/doc/{ => JCNC项目开发流程/Git常用命令}/Git常用命令.md (100%) create mode 100644 zh-cn/doc/JCNC项目开发流程/JCNC开发者文档/JCNC开发者文档.md create mode 100644 zh-cn/doc/JCNC项目开发流程/JNotepad项目文档/JNotepad开发者文档.md delete mode 100644 zh-cn/doc/JCNC项目开发流程/JNotepad项目文档/JNotepad项目文档.md create mode 100644 zh-cn/doc/JCNC项目开发流程/JavaFX基础知识/JavaFX基础知识.md create mode 100644 zh-cn/doc/JCNC项目开发流程/JavaFX基础知识/img.png create mode 100644 zh-cn/doc/JCNC项目开发流程/JavaFX基础知识/img_1.png create mode 100644 zh-cn/doc/JCNC项目开发流程/构建和打包/构建和打包.md rename zh-cn/doc/JCNC项目开发流程/{构建首个JavaFx应用.md => 构建首个JavaFX应用/构建首个JavaFX应用.md} (92%) rename zh-cn/doc/{ => JCNC项目开发流程/第一次接触开源项目}/第一次接触开源项目.md (98%) diff --git a/README.md b/README.md index e40541a..9cd8085 100644 --- a/README.md +++ b/README.md @@ -6,4 +6,4 @@ ## 文档目录结构 -[中文文档](zh-cn/doc/JCNC开发者文档.md) \ No newline at end of file +[中文文档](zh-cn/doc/JCNC项目开发流程/JCNC开发者文档/JCNC开发者文档.md) \ No newline at end of file diff --git a/zh-cn/doc/JCNC开发者文档.md b/zh-cn/doc/JCNC开发者文档.md deleted file mode 100644 index 7ae3030..0000000 --- a/zh-cn/doc/JCNC开发者文档.md +++ /dev/null @@ -1,18 +0,0 @@ -# JCNC开发者文档 - -本目录是JCNC开发者文档的中文目录。目录内容包括: - -### 新手指南 - -[第一次接触开源项目?](第一次接触开源项目.md) - -[Git常用命令](Git常用命令.md) - -[JCNC项目开发流程](JCNC项目开发流程/JCNC项目开发流程/JCNC项目开发流程.md) - -### 项目文档 - -[JNotepad文档](https://gitee.com/jcnc-org/JNotepad/blob/release-v1.1.13/README.md) - - -### 欢迎补充和修复文档! diff --git a/zh-cn/doc/Git常用命令.md b/zh-cn/doc/JCNC项目开发流程/Git常用命令/Git常用命令.md similarity index 100% rename from zh-cn/doc/Git常用命令.md rename to zh-cn/doc/JCNC项目开发流程/Git常用命令/Git常用命令.md diff --git a/zh-cn/doc/JCNC项目开发流程/JCNC开发者文档/JCNC开发者文档.md b/zh-cn/doc/JCNC项目开发流程/JCNC开发者文档/JCNC开发者文档.md new file mode 100644 index 0000000..0a85da6 --- /dev/null +++ b/zh-cn/doc/JCNC项目开发流程/JCNC开发者文档/JCNC开发者文档.md @@ -0,0 +1,20 @@ +# JCNC开发者文档 + +本目录是JCNC开发者文档的中文目录。目录内容包括: + +## 新手指南 + +[第一次接触开源项目?](../第一次接触开源项目/第一次接触开源项目.md) + +[Git常用命令](../Git常用命令/Git常用命令.md) + +## 项目文档 + +[JNotepad开发者文档](../JNotepad项目文档/JNotepad开发者文档.md) + +[JCNC项目开发流程](../JCNC项目开发流程/JCNC项目开发流程.md) + +[JNotepad文档](https://gitee.com/jcnc-org/JNotepad/blob/release-v1.1.13/README.md) + + +## 欢迎补充和修复文档! diff --git a/zh-cn/doc/JCNC项目开发流程/JNotepad项目文档/JNotepad开发者文档.md b/zh-cn/doc/JCNC项目开发流程/JNotepad项目文档/JNotepad开发者文档.md new file mode 100644 index 0000000..3340afb --- /dev/null +++ b/zh-cn/doc/JCNC项目开发流程/JNotepad项目文档/JNotepad开发者文档.md @@ -0,0 +1,15 @@ +# JNotepad 开发者文档 +欢迎使用 JNotepad 开发者文档。借助这些文档,您可以了解如何使用、开发和打包[JNotepad](https://gitee.com/jcnc-org/JNotepad) 。 + +## 新手指南 +如果您是首次接触 JavaFX,并希望开始编写代码,请从[构建首个 JavaFX 应用](../构建首个JavaFX应用/构建首个JavaFX应用.md)教程开始。 + +此外,请通过查看下面的其他资源或社区来学习 JNotepad 开发: + +- [JavaFX 官网](https://openjfx.io/) +- [JavaFX API](https://openjfx.io/javadoc/21/) +- [QQ 交流群](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=x3QF-jrJAKTiwu8kV5-giBk2ow66Kzyr&authKey=qNqrQauD7Ra4fXH%2Ftu4ylHXCyrf2EOYj9oMYOmFjlzYmrgDL8Yd0m2qhrQQEBL25&noverify=0&group_code=386279455) + +## 基础知识 + +- [JavaFX基础知识](https://openjfx.io/) \ No newline at end of file diff --git a/zh-cn/doc/JCNC项目开发流程/JNotepad项目文档/JNotepad项目文档.md b/zh-cn/doc/JCNC项目开发流程/JNotepad项目文档/JNotepad项目文档.md deleted file mode 100644 index 50134c0..0000000 --- a/zh-cn/doc/JCNC项目开发流程/JNotepad项目文档/JNotepad项目文档.md +++ /dev/null @@ -1,11 +0,0 @@ -# 开发者指南 - -欢迎使用 JNotepad 开发者指南。借助这些文档,您可以了解如何使用和开发 JNotepad 。 - -如果您是首次接触 JavaFX,并希望开始编写代码,请从[构建首个 JavaFx 应用](../构建首个JavaFx应用.md)教程开始。 - -此外,请通过查看下面的其他资源来学习 JavaFX 开发: - -- [JavaFX官网](https://openjfx.io/) -- [JavaFX API](https://openjfx.io/javadoc/21/) - diff --git a/zh-cn/doc/JCNC项目开发流程/JavaFX基础知识/JavaFX基础知识.md b/zh-cn/doc/JCNC项目开发流程/JavaFX基础知识/JavaFX基础知识.md new file mode 100644 index 0000000..36e9679 --- /dev/null +++ b/zh-cn/doc/JCNC项目开发流程/JavaFX基础知识/JavaFX基础知识.md @@ -0,0 +1,28 @@ +# JavaFX基础知识 + +JavaFX是Java平台上的一个框架,用于创建跨平台、富客户端应用程序。它提供了丰富的UI控件、布局管理器、事件处理机制、动画效果、图形渲染等功能,使得开发者可以轻松地构建出各种漂亮的用户界面,并实现复杂的交互逻辑。 + +JavaFX 组织架构图: +![img.png](img.png) +1. 场景(Scene)和节点(Node) + JavaFX应用程序由一个或多个场景组成,每个场景包含了多个节点。节点可以是控件(如按钮、文本框等)或图形元素(如矩形、圆形等)。场景和节点的概念使得JavaFX应用程序的用户界面可以被分为多个层次,从而更加灵活地进行布局和设计。 + +JavaFX应用的程序基本结构: +![img_1.png](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来完成。 diff --git a/zh-cn/doc/JCNC项目开发流程/JavaFX基础知识/img.png b/zh-cn/doc/JCNC项目开发流程/JavaFX基础知识/img.png new file mode 100644 index 0000000000000000000000000000000000000000..167958cc1d4cff4c4de59d41f4cf34c9a3159119 GIT binary patch literal 32650 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