# JavaFxImageManagement **Repository Path**: kuaiKes/java-fx-image-management ## Basic Information - **Project Name**: JavaFxImageManagement - **Description**: 使用JavaFx结合springboot实现的图片管理软件 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-04-25 - **Last Updated**: 2025-08-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # JavaFxImageManagement ## 介绍 这是一个基于JavaFx与Spring Boot集成的图像管理软件,主要用于图像的存储、检索和展示,支持用户注册、登录、修改用户名、修改密码等基础功能,提供友好的图形用户界面。 ## 软件架构 - 使用 **Spring Boot** 构建后端服务。 - 使用 **JavaFx** 构建前端界面。 - 数据库采用 **H2**(可配置为其他数据库)。 - 使用 **MyBatis Plus** 实现数据库操作。 - 图像管理模块包含上传、删除、修改描述、缩放查看等功能。 - 工具模块包含文件操作、弹窗提示、JSON数据读写等功能。 ## 安装教程 1. 确保安装了 **JDK 1.8+**。 2. 克隆项目到本地: ```bash git clone https://gitee.com/kuaiKes/java-fx-image-management ``` 3. 修改数据库配置信息(如需要),配置文件位于: ```yaml src/main/resources/config/application.yml ``` 4. 使用Maven构建项目: ```bash mvn clean install ``` 5. 运行项目:(可以直接下载发行版 (springboot-0.0.1-SNAPSHOT.jar) 进行运行) ```bash java -jar target/JavaFxImageManagement.jar # 或直接运行 springboot-0.0.1-SNAPSHOT.jar # 说明 java -jar 后面跟着的是 jar 包的路径 java -jar springboot-0.0.1-SNAPSHOT.jar ``` ## 说明 - 项目使用 **Spring Boot** 进行后端管理,包括用户注册、登录、图像上传、删除和查询等功能。 - 后端服务通过 **JavaFx** 进行图形界面展示,用户可通过界面进行图像操作。 - 用户信息保存在数据库中,图像存储支持本地文件系统。 - 图像展示功能通过自定义的 `ImageZoomPane` 实现,支持缩放和拖动。 - 本项目为学习项目,仅供学习参考,请勿用于商业用途 - 本项目核心为图片管理功能 使用 JavaFx 结合 SpeingBoot , JavaFx 提供界面 SpeingBoot 作为数据操作层用来操作数据 - 项目可以配置数据库连接信息, 需要请修改application.yml文件 默认采用 H2 数据库 数据库sql位置在 src/main/resources/db/schema-h2.sql - 项目静态资源说明 src/main/resources/org/Image/management/ViewCofig/file/UI 用来存放静态资源,Fxml 文件夹为 JavaFx 的 fxml 文件类似于Html,icon 文件夹为 静态图片 - 推荐一下本项目好玩的 utils 模块,本模块不需要其他的依赖只需要 java即可 使用的是java 的 JDialog 改造的 ,位置在 src/main/java/org/Image/management/utils/remind 中有两个类分别为 ShowDialogImages 与 ShowDialogUtils,ShowDialogImages 是一个图片弹窗类用来弹出图片如下图:![](README.assets/image-20250427150432554-1745737650702.png)ShowDialogUtils 类是用来快速创建 ShowDialogImages 类下面是一些常用的方法 ```java /** * 创建一个图片提示框 会自动关闭 * * @param wide - 宽度 * @param high - 高度 * @param background - 背景图片 * @param time - 关闭时间 * @param isOffAnimations - 是否关闭动画 * @param consumer - 关闭时触发的回调函数 * @return ShowDialog - 提示框类 对象 */ public static ShowDialogImages ShowDialogBuilder(int wide, int high, Image background, int time, boolean isOffAnimations, Consumer consumer) { ShowDialogImages showDialogImages = DialogBuilder(wide, high, background); showDialogImages.CloseThread(time, isOffAnimations, consumer); return showDialogImages; } public static ShowDialogImages ShowDialogBuilder(int wide, int high, URL background, int time, Consumer consumer) { return ShowDialogBuilder(wide, high, new ImageIcon(background).getImage(), time, true, consumer); } public static ShowDialogImages ShowDialogBuilder(int wide, int high, Image background, int time, Consumer consumer) { return ShowDialogBuilder(wide, high, background, time, true, consumer); } public static ShowDialogImages ShowDialogBuilder(int wide, int high, Image background, int time) { return ShowDialogBuilder(wide, high, background, time, null); } public static ShowDialogImages ShowDialogBuilder(int wide, int high, URL background, int time) { return ShowDialogBuilder(wide, high, new ImageIcon(background).getImage(), time, null); } /** * 创建一个图片提示框 不会自动关闭 需要手动关闭 方法为 showDialog.ClosePrompt(consumer); * * @param wide - 宽度 * @param high - 高度 * @param background - 背景图片 * @return ShowDialog - 提示框类 对象 */ public static ShowDialogImages DialogBuilder(int wide, int high, Image background) { ShowDialogImages showDialogImages = new ShowDialogImages(wide, high, background); new Thread(showDialogImages::show).start(); return showDialogImages; } ``` ## 效果图预览 ![登录界面](README.assets/image-20250427153425971.png) ![图像管理界面](README.assets/image-20250427153431143.png)