diff --git a/README.md b/README.md index 953f9941a23ac9959bf3ab837f33167a201b7949..7e8b792bf27b0a7ed4ca29d3ed5757b91c6db846 100644 --- a/README.md +++ b/README.md @@ -1,43 +1,90 @@ # GitManageerClientFx -#### 介绍 +## 介绍 + 使用JavaFx开发本地git项目批量管理客户端,解决本地项目过多维护困难等问题 -#### 软件架构 -- JDK20 -- JavaFx 20.0.2 +## 软件架构 + +- JDK21 +- JavaFx 21.0.1 +- 数据库H2 +- git操作JGit +- 图标ikonli +- 日志logback +- 主题atlantafx + +## 需求背景 + +本地开源项目较多,日常项目更新、管理比较麻烦,随着时间的推移,会忘记每个项目的具体作用。使用了几款git管理工具,如GitHub desktop等软件, +并不能满足使用需求。正好在学习JavaFX动手,开发一款简单的管理软件解决问题,一并开源出来供有需要的开发者使用。 + +## 使用说明 + +### 设置 + +进行主题的调整: + +![img.png](images/setting.png) + +### 通知 + +展示错误、异常信息: + +![img.png](images/notice.png) + +### 下载 + +开源项目的克隆: + +![img.png](images/clone.png) + +开始下载以后,会在底部下载处显示正在下载的数量,点击可以展示下载面板: + +![img.png](images/cloneing.png) + +### 管理 + +开源项目列表展示: + +![img.png](images/manager.png) + +#### 添加本地项目 + +可以选择一个项目,也可以选择所有项目都在的文件夹,会异步扫描加载找到的git项目,如果项目名称和作者重复,不会重复添加 + +#### 顶部的 更新 按钮 + +更新所有选中的项目,项目更新完成取消勾选,更新失败勾选不会取消,可以重复更新。 + +##### 更新问题 + +- 软件整体功能比较简单,如果开源项目有改动,更新时产生了冲突,此项目是没有办法解决的,需要使用其他工具进行调整。 +- GitHub项目在国内的访问情况懂的都懂,为防止程序长时间阻塞,GitHub项目批量更新时,如果多次报错,则后续的更新会自动跳过GitHub上的项目 +- 其他未知问题 + +#### 批量删除 +删除不需要的项目,只是从管理页面移除,不会将项目从本地移除 -#### 安装教程 +#### 学习等级 -1. 关闭 -2. xxxx -3. xxxx +双击可以进行调整 -#### 使用说明 +#### 每一行的 更新 按钮 -1. 特性分支-#I806RK -2. 完成任务 -3. 关联任务 +单个更新项目 -#### 参与贡献 +#### 详情 -1. Fork 本仓库 -2. 新建 Feat_xxx 分支 -3. 提交代码 -4. 新建 Pull Request +点击详情按钮会跳转到笔记页面 +#### 每一行的展示 -#### 特技 +鼠标在每一行上进行悬停,会弹出项目的详细信息 -1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md -2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) -3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 -4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 -5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) -6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) +### 笔记 -- label 只能在fx主线程进行更新 -- text 可以在fx异步线程中更新 +描述和备注 双击可以进行修改 -- gridPane.setStyle("-fx-background-color: green; -fx-grid-lines-visible: true"); GridPane添加背景色和边框 \ No newline at end of file +![img.png](images/note.png) diff --git a/images/clone.png b/images/clone.png new file mode 100644 index 0000000000000000000000000000000000000000..421eeac47aa3a0571dd7191f45c00004d1408ce9 Binary files /dev/null and b/images/clone.png differ diff --git a/images/cloneing.png b/images/cloneing.png new file mode 100644 index 0000000000000000000000000000000000000000..47ec4f057f4635dc7d25b5dac0cc0fb7a6e684e8 Binary files /dev/null and b/images/cloneing.png differ diff --git a/images/manager.png b/images/manager.png new file mode 100644 index 0000000000000000000000000000000000000000..a07fd3e1904e290c769c2b8ff72940ffabcb3004 Binary files /dev/null and b/images/manager.png differ diff --git a/images/note.png b/images/note.png new file mode 100644 index 0000000000000000000000000000000000000000..8f7669a9eb74e418ce33dcae76edee3d52a6f9f7 Binary files /dev/null and b/images/note.png differ diff --git a/images/notice.png b/images/notice.png new file mode 100644 index 0000000000000000000000000000000000000000..26b73ccd4e5bab60fc9c26644cc172fef0ada92e Binary files /dev/null and b/images/notice.png differ diff --git a/images/setting.png b/images/setting.png new file mode 100644 index 0000000000000000000000000000000000000000..33f5f803454ecc811a09e5655d62583eeafdea60 Binary files /dev/null and b/images/setting.png differ diff --git a/pom.xml b/pom.xml index 36c00ec57d450a2720a3dbd4e21c79eb4984ff17..4fc656419265fa913b483d1acb1356fcbd68cf88 100644 --- a/pom.xml +++ b/pom.xml @@ -134,6 +134,22 @@ org.openjfx javafx-maven-plugin 0.0.8 + + + + default-cli + + C:\Program Files\Java\jdk-21\bin\java + com.light/com.light.GitManagerApp + app + app + app + true + true + true + + + diff --git a/src/main/java/com/light/component/PaymentQRCodePane.java b/src/main/java/com/light/component/PaymentQRCodePane.java index aaf793bcde271705cf11e0803d12fca09bb0fa00..123e7c479a903f8ea2a182da7c502ea26456d13e 100644 --- a/src/main/java/com/light/component/PaymentQRCodePane.java +++ b/src/main/java/com/light/component/PaymentQRCodePane.java @@ -3,16 +3,25 @@ package com.light.component; import com.light.layout.ModalDialog; import javafx.scene.image.Image; import javafx.scene.image.ImageView; +import javafx.scene.layout.HBox; public class PaymentQRCodePane extends ModalDialog { - public PaymentQRCodePane(){ + public PaymentQRCodePane() { header.setTitle("打赏作者"); - Image qrCode = new Image("/icons/qrcode.jpg"); - ImageView qrCodeView = new ImageView(qrCode); - qrCodeView.setFitWidth(300); - qrCodeView.setFitHeight(350); - content.setBody(qrCodeView); + + Image qrCode1 = new Image("/icons/weixin.jpg"); + ImageView qrCodeView1 = new ImageView(qrCode1); + qrCodeView1.setFitWidth(300); + qrCodeView1.setFitHeight(400); + + Image qrCode2 = new Image("/icons/zhifubao.png"); + ImageView qrCodeView2 = new ImageView(qrCode2); + qrCodeView2.setFitWidth(300); + qrCodeView2.setFitHeight(400); + + HBox hBox = new HBox(5, qrCodeView1, qrCodeView2); + content.setBody(hBox); } } diff --git a/src/main/java/com/light/layout/MenuPane.java b/src/main/java/com/light/layout/MenuPane.java index 0f109371bf4a79cf7557b35e72125cd6516b95d1..7579334ed659ef4d0616b5e8cca6565c0d0eeeb4 100644 --- a/src/main/java/com/light/layout/MenuPane.java +++ b/src/main/java/com/light/layout/MenuPane.java @@ -145,7 +145,7 @@ public class MenuPane extends StackPane { }); PaymentQRCodePane paymentQRCodePane = new PaymentQRCodePane(); - payQRCodeBtn.setOnMouseClicked(Event -> paymentQRCodePane.show(getScene())); + payQRCodeBtn.setOnMouseClicked(event -> paymentQRCodePane.show(getScene())); } } diff --git a/src/main/resources/icons/weixin.jpg b/src/main/resources/icons/weixin.jpg new file mode 100644 index 0000000000000000000000000000000000000000..231e31ad247039853c7d82fe8a129e19e8db9117 Binary files /dev/null and b/src/main/resources/icons/weixin.jpg differ diff --git a/src/main/resources/icons/zhifubao.png b/src/main/resources/icons/zhifubao.png new file mode 100644 index 0000000000000000000000000000000000000000..3ea0434fa83e8b413fa71be5fd5ed45e9b537fc9 Binary files /dev/null and b/src/main/resources/icons/zhifubao.png differ