基本功能:设计一个画图程序,要求添加一个“编辑”菜单,在该菜单中可以选择画线、画圆、画矩形等功能,添加一个“文件”菜单实现清屏和退出功能。
附加功能:添加一个菜单,包含多个可供选择的颜色,可实现用不同的颜色绘制图形。???
PainterPanel.java
import?java.awt.*;
import?java.awt.event.*;
import?javax.swing.*;
import?javax.swing.event.*;
public?class?PainterPanel?extends?JPanel?implements?MouseListener{
int?shape=-1;?//图案类型
Point[]?point=new?Point[2];?//记录鼠标拖动的起始点和终点
public?PainterPanel(){
super(); //调用父类构造函数
this.setBackground(Color.white);?//设置背景颜色
???point[0]=new?Point(-1,-1);?//初始化变量
???point[1]=new?Point(-1,-1);
addMouseListener(this);?//增加鼠标事件
}
public?void?mouseReleased(MouseEvent?e){?//鼠标释放事件
point[1]=new?Point(e.getX(),e.getY()); ?//设置终点位置
repaint();?//重绘屏幕
}
public?void?mouseEntered(MouseEvent?e){}
public?void?mouseExited(MouseEvent?e){}
public?void?mouseClicked(MouseEvent?e){}
public?void?mousePressed(MouseEvent?e){??//鼠标按下时事件
point[0]=new?Point(e.getX(),e.getY());??//设置起始点位置
}???
public?void?paint(Graphics?g){
super.paint(g);
switch?(shape){??//根据shape值绘制图形