很多人问绘制曲线和可视直线不是很简单吗,就像windows自带的画图点击铅笔就可以随心所欲地画曲线,点击画直线就可以画直线,那我们为什么要去学画曲线、直线这么简单的东西呢?回答是Windows的画图是别人做好的界面给你去使用,而你并不了解其中的原理一样,只有我们通过一些简单的功能去学习Java中的一些基本监听器,以后就可以做一些功能丰富的程序。
本次我们将用到MouseMotionListener即鼠标拖动监听器,这个监听器中有两个事件,一个是mouseDragged(鼠标拖动)和mouseMoved(鼠标移动),这两个要复制到监听器类中,使抽象类对象重载实现功能。
public interface MouseMotionListener extends EventListener {
public void mouseDragged(MouseEvent e);
public void mouseMoved(MouseEvent e);
}
来理解一下画曲线的步骤,监听器的鼠标按压事件mousePressed得到初始位置点的坐标(x1,y1)然后在鼠标拖动事件mouseDragged得到拖动后的坐标(x2,y2),然后调用画直线方法g.drawLine(x1, y1, x2, y2);画出直线
public void mouseDragged(MouseEvent e) {
x2 = e.getX();
y2 = e.getY();
g.drawLine(x1, y1, x2, y2);
x1=x2;y1=y2
}
//.....public void mousePressed(MouseEvent e) {