# hup-utils-parent **Repository Path**: maoTVReporter/hup-utils-parent ## Basic Information - **Project Name**: hup-utils-parent - **Description**: 基于springboot,swing的工具库 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 4 - **Created**: 2020-06-16 - **Last Updated**: 2025-01-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # hup-utils-parent #### 介绍 基于springboot,swing的工具库; > 项目的一切起源于大学时期开始做的java桌面项目: > + 主要是数据处理、绘图方面的 > + 非计算机专业,最初还只是批处理+csv的编码形式 > + 简陋项目,技术陈旧,不喜勿喷 #### 项目启动说明 + 请参考[<项目启动说明>](https://gitee.com/maoTVReporter/hup-utils-parent/blob/master/项目启动说明.md) #### 模块 + `hup-commons` + 基于springboot,swing的工具库 + `exception`包 + 利用反射机制、接口泛型、工厂模式实现的异常处理工具 + 针对不同异常,二次处理异常信息(抽取有用的、真正错误、语义明确的msg) + 过滤多余的堆栈信息(避免每次打印堆栈时,都是几十行中仅取三行的情况) + `hardware`包 + 鼠标,键盘,屏幕,系统信息等的工具包 + .[**HRobotJni**]:java-JNI-cpp-WinApi的简单项目 + [hup_utils_parent_cpp](https://gitee.com/maoTVReporter/hup_utils_parent_cpp) + 功能说明:[HRobotJni.dll.txt](https://gitee.com/maoTVReporter/hup_utils_parent_cpp/blob/master/src/main/cpp/dllJni/HRobotJni.dll.txt) + `start`包 + 基于springboot,swing的程序启动工具包 + 简单的、带启动进度的、带异常捕获的启动窗 + 解决swing界面的样式,缩放比例 + 单例程序启动管理工具[**SingletonAppManager**]:简单的udp通信,实现重复启动时,通知旧程序作出响应 + [**StartupInfo,SpringContext,VersionConfig**]等 + `thread`包 + [**ThreadPoolUtil,EfficientExecutor**] + 引入参考自Tomcat的`ThreadPoolExecutor`:效率优先的多线程执行器,详见类注释 + 简单的执行器构造方法 + 精准时间的任务触发器[**TimeCat**]等一些线程任务相关的工具 + `commons`包与其他子包 + .[**BaseConfig**]:方便的配置保存与读取工具 + .[**BaseConstant**]:枚举类的基础接口 + 其他工具如:字符串、byte、日期、列表、java、jni等工具 + `hup-algorithm-image` + 图像算法模块:高斯模糊算法,魔棒算法,图像轮廓算法 + `hup-swing` + 基于swing的工具库 + `customView`包:自定义控件 + 一般小控件 + 简单的表格控件[**ViewTable**] + 颜色选择器[**ColorChooserPanel**] + 算法参考自idea的颜色选择器,优化的界面 + 颜色算法 + 截屏取色工具 + `frame`包:基于[**BaseWindow,SwingExecutable**]的窗口框架 + 管理窗口图标,标题,生命周期等 + 异步任务执行等 + 截屏工具[**ScreenShotUtil**]:截屏,取色工具 + 其他工具:Component,Frame,Icon,Image,KeyBoard,Graphics等工具 + `hup-io-files` + 基于`commons-csv,commons-compress`,主要解决编码问题 + [**CsvReader,ArZipReader**] + `hup-io-excels` + 基于POI和EasyExcel的工具库 + POI + 复杂excel格式设置[**WbUtil**] + excel读取类[**SheetReaderUtil**]:支持大文件,自动格式,对象化返回类型 + EasyExcel + excel读取类[**ExcelReaderUtil**]:支持大文件,自动格式,对象化返回类型,注解化 + `hup-io-batch` + 批处理执行器[**BatchUtil**] + 处理了输出流(成功,错误,异常,线程,超时)问题 + 支持执行纯命令和[封装指令类] + 已有[封装指令类]在`function`包下,如:Start,Sc和Net类的,Task类的指令等 + `hup-selenium` + 对selenium业务性功能的简单封装 + 目前只支持谷歌浏览器 + 基本的浏览器生命周期管理[**BrowserService**] + 页签对象化处理基础类,支持多页签轮询业务[**BaseWebPage**] + 针对第三方页面爬虫时,多级核对的元素查找工具[**ElementUtil**] + 多页签下的元素缓存器[**ElementCacher**] + `hup-io-socket` + [README.md](https://gitee.com/maoTVReporter/hup-utils-parent/tree/master/hup-io-socket) + `hup-jna` + 目前仅含全局热键监听类[**GlobalHotKeyListener**] + 基于jna的,简陋的工具 + 安全的(不会有[**旧版jna的hook**]那种能随意监听输入的安全隐患和注册资源泄露问题) + `hup-io-audio` + 简单的wav播放工具 > 每个模块基本上都处于半开发状态 #### 项目应用 ![截图](https://maotvreporter.gitee.io/pages/readmeResource/Joystick/Joystick_1.png) ![截图](https://maotvreporter.gitee.io/pages/readmeResource/Sokoban/Sokoban_1.png) ![截图](https://maotvreporter.gitee.io/pages/readmeResource/Timer.png) ![截图](https://maotvreporter.gitee.io/pages/readmeResource/WinLoginTask.jpg)