java教材课件10多媒体编程
- 格式:ppt
- 大小:3.21 MB
- 文档页数:50
第四讲、Java 多媒体编程应用技术[本讲的知识要点]:Graphics类、paint()格式及绘制的时机。
Java中的文本、图形、图像绘制、声音、动画等编程技术。
4.1 Java 中的图形、文本、图像绘制编程的相关知识4.1.1 有关的类及绘制函数:主要涉及java.awt包中的Graphics类;编程的基本方法是调用Graphics 类中的相应的绘制图形、绘制文本、绘制图像等函数以实现在图形窗口下输出图形、文本、图像等。
4.1.2编程方法:先利用(在组件的paint()函数内)或获取(在组件的其它函数内如事件响应函数内)java.awt包中的Graphics类对象(它代表当前组件如窗口的绘图环境),然后调用Graphics类中相应的绘制函数来实现输出。
4.1.3 绘制的时机:①组件外形发生变化时(如窗口的大小、位置、图标化等显示区域更新时),AWT自动从高层直到叶结点组件相应地调用各组件的paint()方法,但这可能有一个迟后感。
①程序员也可直接调用某一个组件的repaint()(系统再调用update()以清除背景区域,系统再调用paint()实现输出;如直接调用paint()将保留上次的屏幕输出,故不直接调用paint()),以立即更新外观(如在添加新的显示内容后)。
要点 如果要求保留上次的输出结果时可以调用paint(),而不要求保留上次的输出结果只希望用户能看到最新的输出结果时可以调用repaint()。
③AWT响应外部的事件时(如首先显示于屏幕或需刷新时),AWT也会直接调用repaint()函数。
4.1.4如何获取Graphics类对象并绘制: 绘制之前,必须先获取Graphics类对象,因为它包含有当前组件的绘图环境,从而实现在当前组件(如图形窗口)内输出。
方法一:在paint()内则可通过其形参(它代表当前组件的绘图环境),从而调用Graphics类中的相关的绘制成员函数。
public void paint(Graphics g){ g.drawString("Java Text",x,y);}方法二:先在组件类(如Applet或窗框Frame的其他成员函数)中调用getGraphics()来获取当前组件的绘图环境,再强制绘制输出,从而可在paint()函数之外(如事件响应函数内)产生绘制动作。