.y,p2.x,p2.y);//画相邻两点间的线Р }Р }Р else if(state==CLEAR){//state值为2,表示清除面板上的画图Р gg.setColor(getBackground()); //设置缓冲区画笔为当前背景颜色whiteР gg.fillRect(0,0,width,height); //画缓冲区为背景颜色---清除画图Р } Р //把缓冲区中的画图显示在面板上Р g2d.drawImage(buffImage,0,0,width,height,this); Р } Р Р public Dimension getPreferredSize() {Р return new Dimension(width, height);//面板显示大小为450×400像素Р }Р //鼠标移动时:清空array中所有元素,为下一次拖动初始化arrayР public void mouseMoved( MouseEvent e ){Р //设置鼠标移动时,鼠标光标形状为:手形Р setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));Р array.clear(); //清空array中所有元素Р }Р //鼠标拖动时,得到拖动路径上的所有点Р public void mouseDragged( MouseEvent e ) { Р state=DRAW; Р //设置鼠标拖动时,鼠标光标形状为:十字形Р setCursor(Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR));Р array.add(e.getPoint()); //得到鼠标拖动路径上的点,并保存在array中Р repaint(); //重画,刷新面板中的显示Р } Р}