实验十一

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

实验十一:图形绘制与鼠标事件

30 分

实验目的

熟练使用Graphics对象来绘制图形

掌握在面板上(继承JPanel类)绘制图形的方法

掌握处理鼠标事件

掌握菜单系统的使用

掌握颜色选择器的使用

要求

1. 安装JDK7.0及以上版本和Java集成开发环境(eclipse)。

2. 在每个Java类的顶部添加下面的注释:

/*

* < 你的真实姓名 >

* Java programing 2015-2016-1

* Lab 11

*

*/

具体练习内容

1.(15 pts)创建一个WatchMe类,该类继承JFrame类。在类中创建一个面板,并把面板添加到该窗体中。当应用程序运行时,在面板上绘制两个椭圆和两个实心圆(代表眼睛),如下图所示:

图1-1 “Watch Me”窗体

当鼠标处于面板区域,并在眼睛正上方时,眼珠(两个实心圆)向上,如图1-2所示:

当鼠标处于面板区域,并在眼睛正下方时,眼珠(两个实心圆)向下,如图1-3所示:

当鼠标处于面板区域,并在眼睛正左方时,眼珠(两个实心圆)向左,如图1-4所示:

当鼠标处于面板区域,并在眼睛正右方时,眼珠(两个实心圆)向右,如图1-5所示:

图1-2 鼠标在正上方图1-3 鼠标在正下方图1-4 鼠标在正左方图1-5 鼠标在正右方

当鼠标离开面板区域,眼珠恢复原先状态如图1-6所示。对于正上方、正下方、正左方和正右方的说明见图2,这些区域的大小(x, y值)根据眼睛绘制情况,自己定义。

图1-6 鼠标移出面板区域图2 方向说明

要求:

1、必须重写paintComponent方法,在该方法中绘制图形。

2、关于处理鼠标事件必须使用MouseAdapter类和MouseMotionAdapter类。

3、眼珠(实心圆)位移的大小可自己定义,但实心圆(眼珠)不能超出椭圆。

4、从图2能够看出面板有四个有效区域(正左方、正右方、正上方和正下方)和四个无效区域(四个

角)。当鼠标移到任意一个无效区域时,建议按照鼠标上一次所在区域进行绘制,比如最近一次鼠标所在的区域是正左方,那么当鼠标移到无效区域时实心圆(眼珠)仍然向左。

提示:

除了创建窗体类之外,还需要创建一个继承JPanel的内部类,并且重写该类的paintComponent方法。

2. (15pts)创建一个窗体,该窗体的菜单栏中有两个菜单:Shapes 和 Color,以及一个背景色为白色的面板。菜单中的内容如下所示:

图3 Shapes菜单图4 Color菜单

要求:

1、将初始的绘图方式设置为非填充方式,初始的绘图颜色设置为黑色。

2、当用户点击“rectangle”选项,“oval”选项,或者“polygon”选项时,程序就在面板中绘制相应的图形。例如,点击“polygon”选项,程序就在面板中绘制一个正六边形,如图5所示。如果单选按钮菜单项“fill”处于选中状态时,点击“polygon”选项,程序就会在面板中绘制一个填充的正六边形,如图6所示。

图 5 绘制正六边形图 6 绘制填充的正六边形

3、当用户点击“Color”菜单中的“color chooser”选项,程序将显示颜色选择器,如图7所示。用户可在选择器中选择一种颜色。

图 7 显示颜色选择器

4、此时,如果用户分别点击了“rectangle”选项和“oval”选项,那程序会在面板中绘制用户刚才所选颜色的图形,如图8、图9所示。

图 8 绘制矩形图 9 绘制椭圆

说明:

菜单系统和颜色选择器的内容请参见:第十二次课的课件及演示程序(MenuWindow2.java, ColorChooser.java)。

如何递交

导出你的Eclipse项目,通过网络教学综合平台()上交(写上姓名、学号和班级)。

相关文档
最新文档