java作业

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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//Object serialization 允许你将实现了Serializable接口

10.

11.11. // 的对象转换为字节序列,这些字节序列可以被完全存储以备以后重新生成原来的对象。12. {

13.int x,y;

14. Color col;

int tool;

16.int boarder;

17.

18.Point(int x, int y, Color col, int tool, int boarder)

19.{

20. this.x = x;

21. this.y = y;

22.this.col = col;

23.this.tool = tool;

24.24. this.boarder = boarder;

25.25. }

26.26. }

27.27.

28.28.

29.29. class paintboard extends Frame implements ActionListener,MouseMotionListener, MouseListener,ItemListener

30.

31.30. //Java中Frame默认的布局管理器为BorderLayout,加一个TextField到BorderLayout.SOUTH用来查看

32.31.

32. //点击菜单的getSource()和getCommand()信息,接口java.awt.event.MouseMotionListener

33.

34.//public interface MouseMotionListener extends EventListener

35.

36. //用于接收组件上的鼠标移动事件的监听者接口。

37.

38.38.

39. {

40.int x = -1, y = -1;

41.41. int con = 1;//画笔大小

42.42. int Econ = 5;//橡皮大小

43.43.

44.44. int toolFlag = 0;//toolFlag:工具标记

45.45. //toolFlag工具对应表:

46.46. //(0--画笔);(1--橡皮);(2--清除);

47.47. //(3--直线);(4--圆);(5--矩形);

48.48.

49.49. Color c = new Color(0,0,0); //画笔颜色

50.50. BasicStroke size = new BasicStroke(con,BasicStroke.CAP_BUTT,BasicStroke.JOIN _BEVEL);//画笔粗细

51.51. //BasicStroke 类定义针对图形图元轮廓呈现属性的一个基本集合,

52.52. //描述了用画笔沿Shape 的轮廓绘制的某个标记的形状.

53. Point cutflag = new Point(-1, -1, c, 6, con);//截断标志

54.

55.Vector paintInfo = null;//点信息向量组,Vector为一个容器,一个可以放任何数据,大小可以随意扩大的数组

56.int n = 1;

57.57.

58.58. FileInputStream picIn = null;//FileInputStream 类:提供了对文件读取流的操作

59.59. FileOutputStream picOut = null;//FileOutputStream类:文件输出流操作

60.60. //ObjectOutputStream 和ObjectInputStream 分别利用FileOutputStream 和FileInputStream

61.61. //能支持应用程序实现对象图象的稳定存储。

62.62. ObjectInputStream VIn = null;//ObjectInputStream 可用于恢复以前序列化过的对象

63.63. ObjectOutputStream VOut = null;//ObjectOutputStream 将Java 对象中的基本数据类型和图元

64.64. //写入到一个OutputStream 对象中

65.65.

66.66.

67.67. // *工具面板--画笔,直线,圆,矩形,多边形,橡皮,清除*/

68. Panel toolPanel;

68.69. Button eraser, drLine,drCircle,drRect;

70. Button clear ,pen;

71.Choice ColChoice,SizeChoice,EraserChoice;

72.72. Button colchooser;

73.73. Label 颜色,大小B,大小E; 7

74.4. //保存功能

75.75. Button openPic,savePic;

76.76. FileDialog openPicture,savePicture;

77.77.

78.78.

79.paintboard(String s)

80.80. {

81.81. super(s);

82.82. addMouseMotionListener(this);

83.83. addMouseListener(this);

84.84.

85.85. paintInfo = new Vector();

86.86.

87.87. /*各工具按钮及选择项*/

88.88. //颜色选择

89.89. ColChoice = new Choice();

90.90. ColChoice.add("black");

91.91. ColChoice.add("red");

92.92. ColChoice.add("blue");

93.93. ColChoice.add("green");

相关文档
最新文档