# Sketchpad **Repository Path**: wangnig/Sketchpad ## Basic Information - **Project Name**: Sketchpad - **Description**: 这是nju《软件构造》课程(2018 Autumn)的第一个实践项目,要求支持鼠标画简单几何图形并进行标注 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2018-09-03 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Sketchpad #### 项目介绍 这是nju《软件构造》课程(2018 Autumn)的第一个实践项目,要求支持鼠标画简单几何图形并进行标注 #### 软件架构 软件架构说明 分层式 ``` __sketchpad |__gui | |__component:ui组件抽象 | |__control:画画以及功能控制核心 | |__drawinggraph:几何对象实例 | |__business | |__dataflow:处理数据流(序列化)的功能实现和接口 | |__databuffer:几何对象缓存池 | |__datacalc:坐标计算工具 | |__function:功能实现以及接口 | |__constant:包含全局常量 | |__Main.java:启动类和ui组件管理 ``` #### 使用说明 - 每次画画的时候需要点击菜单栏按钮以确定几何类型 - 使用标记、识别时候需要先点击`选择`然后拉框选中相应画的对象 - 识别时候需要联网调用部署在服务器上的模型api - 支持移动,先选中然后点击对象再鼠标慢慢移动(防止过快比较卡顿,过快时不移动) - 支持组合和分解操作,组合意味着整体选中 - 支持复制和粘贴 #### 项目说明 本项目是学生作业 使用了`jfoenix-8.0.6`