第2章窗体图形图像处理与Applet程序设计讲述.ppt
文本预览下载声明
第二章 窗体图形图像处理与Applet程序设计 课程目标 窗体绘制paint()方法、update()方法、repaint()方法等 Toolkit类的方法和应用 Graphics类的方法和应用 Applet小程序的方法,生命周期,实践以及应用 体验项目——单机版五子棋游戏 在棋盘中点击鼠标可以交替绘制黑白棋子进行五子棋游戏,如图所示 : 窗体绘制 一般来说,绘图是指在Frame、Applet以及JFrame、JApplet等程序主窗口上进行直线、矩形、多边形、椭圆形以及文字的绘制和进行封闭区域的颜色填充等操作。 实际上repaint()方法是自动调用update()方法。update()方法和paint()方法都有一个Graphics类参数。所以Graphics是画图的关键,它可以支持两种绘图: 三种绘图方法 第一种:paint()方法 paint()方法在Component类中定义,当同样继承Component类的GUI对象需要绘图时,Graphics类的对象g会自动传给paint()方法。作为paint()方法的参数传进来的Graphics对象是一个绘图面板。你可以通过重载此方法来定制组件的绘制方式。 public void paint(Graphics g) { super.paint(g); g.drawString(“这是一个字符串…”,50,100); } 在Graphics类中提供了很多的绘图方法,比如: void drawLine(int x1,int y1,int x2,int y2) 此方法将点(x1,y1)到点(x2,y2)之间划出一条线段,该线段宽度为一个像素。 void drawRect(int x,int y,int width,int height) 该方法用于绘制标准的矩形,参数x、y指定矩形左上角(顶点)的位置,参数width、height用来指定矩形的宽度和高度。 void fillRect(int x,int y,int width,int height) 该方法用黑色绘制并填充一个标准矩形,其参数意义与drawRect()方法相同。 另外还有很多的方法,我们在此就不一一列举了,大家可以在课外把其它的方法总结出来进行探讨。 第二种:update()方法 update()方法用于更新组件,AWT调用该方法以响应对repaint()的调用,在调用update()或paint()方法之前,组件的外观将不会发生改变。它更新组件的步骤为:通过填充组件的背景色来清除该组件,然后,设置图形上下文(其原点为该组件的左顶点)的颜色为该组件的前景色,最后,调用paint()方法完整地重绘该组件。 public void update(Graphice g) { this.paint(g); } 注意:update()方法一般和paint()方法以及repaint()方法相结合起来使用 第三种:repaint()方法 我们用paint()方法绘图后,有可能要修改画面,这时必须调用repaint()方法。repaint()方法分两步执行,它会先执行update()方法清除画面,再调用paint()方法对组件进行重绘。 repaint()方法有四个重载方法: Toolkit类及应用 Toolkit类介绍 Toolkit类是一个抽象类,它是一个AWT工具箱,提供对本地GUI最低层次的JAVA访问,例如从系统获得图形信息的方法、获取可显示的字体集和屏幕分辨率等等。 Toolkit常用的方法如下: beep() 发出音频的嘟嘟声。 getDefaultToolkit() 获取缺省工具箱。 getColorModel() 返回该工具箱的屏幕颜色模型。 getFontList() 返回该工具箱中可用字体名。 getImage(String) 返回从指定文件(或URL)中获取像素数据的一个图像。 getScreenResolution() 返回以每英寸点数形式表示的屏幕分辨率。 getScreenSize() 获取屏幕尺寸。 Toolkit类的应用 用Toolkit获取图形或者屏幕信息等,首先需要获得一个Toolkit对象,由于Toolkit类是一个抽象类,不能直接生成对象,所以要调用getDefaultToolkit()方法,如: Toolkit toolkit =Toolkit. getDefaultToolkit(); 获取一个缺省的Toolkit工具箱。 (1)获取图形 Image image1 = toolkit.getImage(imageFile.gif); /
显示全部