importjava.awt.*;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.awt.event.ItemEvent;importjava.awt.event.ItemListener;importjava.awt.even...
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionAdapter;
import java.awt.event.MouseMotionListener;
import java.awt.geom.GeneralPath;
import java.awt.geom.Line2D;
import java.io.Serializable;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class PaintPen extends JFrame
{
GeneralPath gp=new GeneralPath();//GeneralPath对象实例
Point p1;
//构造函数
public PaintPen(){
super("画笔");//给程序命名
enableEvents(AWTEvent.MOUSE_EVENT_MASK|AWTEvent.MOUSE_MOTION_EVENT_MASK);//允许事件
setSize(500,500);//设置窗口尺寸
setVisible(true);//设置窗口可视
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭窗口时退出程序
}
/**
* @param args
*/
public void paint(Graphics g){
Graphics2D g2d=(Graphics2D)g;//获取图形环境
g2d.draw(gp);//绘制路径
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new PaintPen();
}
protected void processMouseEvent(MouseEvent e){//鼠标按下时事件处理
if(e.getID()==MouseEvent.MOUSE_PRESSED)
{
p1=e.getPoint();//得到当前鼠标点
gp=new GeneralPath();//重新实例话GeneralPath对象
gp.moveTo(p1.x, p1.y );//设置路径点
}
}
protected void processMouseMotionEvent(MouseEvent e){//鼠标拖动时事件处理
if(e.getID()==MouseEvent.MOUSE_DRAGGED)
{
p1=e.getPoint();//得到当前鼠标点
gp.lineTo(p1.x, p1.y);//设置路径
gp.moveTo(p1.x, p1.y);
repaint();//重新绘制组件
}
}
}
现在请高手帮我加一个橡皮就行了,大神,帮帮忙啊
展开