# canvas-nest.js的Java swing实现 **Repository Path**: CrimsonHu/java-swing-of-canvas-nest-js ## Basic Information - **Project Name**: canvas-nest.js的Java swing实现 - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2018-11-04 - **Last Updated**: 2023-10-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # canvas-nest.js的Java swing实现 #### canvas-nest.js源码及效果 http://www.bubuko.com/infodetail-2237716.html #### 实现过程 1. 绘制一个容器 2. 用随机数生成坐标,绘制100个点 3. 用随机数生成每个点的运动方向,每次x轴位移多少,y轴位移多少 4. 每1/60秒用for循环重新计算点的坐标,重绘画布 5. 两个for循环嵌套,判断每个点与其他点的距离,若小于90px,则绘制连线,且连线的rgba透明度根据距离而变化 6. 添加鼠标吸附事件,鼠标进入画布后实时监听其位置,并在上述for循环中判断与鼠标的距离,设点为r,距离为dist,若dist>70且dist<140,r.x-=0.03*x_dist,r.y-=0.03*y_dist,即可实现吸附效果(前半段为加速,后半段为吸附) ![输入图片说明](https://images.gitee.com/uploads/images/2018/1104/115344_51be6edb_1403243.png "1.png") ![输入图片说明](https://images.gitee.com/uploads/images/2018/1104/115358_a025d8fc_1403243.png "2.png")