面向对象的程序设计(Java)做简易图画板
装订线 此处不能书写 此处不能书写 此处不能书写 此处不能书写 此处不能书写 此处不能书写 此处不能书写 北京理工大学珠海学院 诚信声明 考场是严肃的,作弊是可耻的,对作弊人的处分是严厉的。 我承诺遵守考场纪律,不存在抄袭及其它违纪行为。 考生(承诺人)签字: 专业: 班级: 学号: 适用年级专业:2013级信息管理与信息系统专业 试卷说明:大作业 2014〜2015学年第一学期《面向对象的程序设计(Java)》大作业 大作业题目 一、摘要: 本程 序通过 JAVA 的 ActionListener, MouseMotionListener , MouseListener, ItemListener等基本类进行了简单的界面设计,运用了JAVA中 类的继承特性实现了对父类方法的调用,并多次使用CASE语句实现绘图菜单的选 择,运用了适配器类简化了监听器类的重写工作。 二、关 键字: ActionListener, MouseMotionListener , MouseListener , ItemListener 三、源代码: import java, applet. import java.awt.*; import java. awt. event. import java. util. import javax. swing. *; import java, awt・geom. *; import java. io. class Point implements Serializable ( int x, y; Color col; int tool; int boarder: 装订线 此处不能书写 此处不能书写 此处不能书写 此处不能书写 此处不能书写 此处不能书写 此处不能书写 Point (int x, int y, Color col, int tool, int boarder) { this, x = x; this, y = y; this, col = col; this, tool = tool; this, boarder = boarder; classpaintboardextendsFrameimplements ActionListener, MouseMotionListener, MouseListener, ItemListener ( int x = -1, y = -1; int con = 1;//画笔大小 int Econ = 5;//橡皮大小 int toolFlag = 0;//toolFlag:工具标记 //toolFlag工具对应表: // (0一画笔);(1—橡皮);(2一清除); // (3--直线);(4一圆);(5--矩形); Color c = new Color (0, 0, 0); 〃画笔颜色 BasicStrokesize=new BasicStroke (con, BasicStroke. CAP_BUTT, BasicStroke. JOIN_BEVEL) ;//画笔粗 细 Point cutflag = new Point (-1, -1, c, 6, con) ;//截断标志 Vector paintinfo = null;//点信息向量组 int n = 1; FilelnputStream picln = null; FileOutputStream picOut = null; Objectstream VIn = null; ObjectOutputStream VOut = null; // *工具面板一画笔,直线,圆,矩形,多边形,橡皮,清除*/ Panel toolPanel; Button eraser, drLine, drCircle, drRect; Button clear , pen; Choice ColChoice, SizeChoice, EraserChoice; Button colchooser; 装订线 此处不能书写 此处不能书写 此处不能书写 此处不能书写 此处不能书写 此处不能书写 此处不能书写 Label颜色,大小B,大小E; //保存功能 Button openPic, savePic; FileDialog openPicture, savePicture; paintboard(String s) { super(s); addMouseMotionListener(this); addMouseListener(this); paintinfo = new Vector(); /*各工具按钮及选择项*/ //颜色选择 ColChoice = new Choice(); ColChoice. add(“black“); ColChoice. add(“red“); ColChoice. add(“blue“); ColChoice. add(“green“); ColChoice. addltemListener(this); //画笔大小选择 SizeChoice = new Choice(); SizeChoice. add(〃l“); SizeChoice. add(“3”); SizeChoice. add(〃5〃); SizeChoice. add(〃7〃); SizeChoice. add(“9”); SizeChoice. addltemListener(this); //橡皮大小选择 EraserChoice = new Choice(); EraserChoice. add(〃5〃); EraserChoice. add(〃9〃); EraserChoice. add(“13”); EraserChoice. add(“17”); EraserChoice. addltemListener(this); //////////////////////////////////////////////////// toolPanel = new Panel(); clear = new Button (〃清除〃); eraser = new Button (〃橡皮〃); pen = new Button (,z画笔”); drLine = new Button (,z画直线“); drCircle = new Button (,z画圆形”); 装订线 此处不能书写 此处不能书写 此处不能书写 此处不能书写 此处不能书写 此处不能书写 此处不能书写 drRect = new Button (,z画矩形); openPic = new Button(,z打开图画〃); savePic = new Button(,z保存图画〃); colchooser = new Butt