小程序实现内容:用java的awt实现画线功能,并实现端点吸附功能(用引力场和网格吸附技术实现)。
引力场:把线段的起点和终点通过一个算法,找到与其距离小于某个值的点,如果这个点存在,就吸上去,如果不存在,就不管他。
网格吸附:把每10个像素看成一个网格(根据自己调整也可以5个),通过算法吸附到距离较近的网格端点。
代码:
package 测试awt;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Point;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class drawLine extends Frame{
Image image = null;
Graphics og = null;
static Point points[] = new Point[10000];//定义顶点数组
static int count = 0;
public static void main(String[] args) {
drawLine drawLine = new drawLine();
drawLine.init()