第20章动画——图形界面综合应用.ppt
《第20章动画——图形界面综合应用.ppt》由会员分享,可在线阅读,更多相关《第20章动画——图形界面综合应用.ppt(25页珍藏版)》请在三一办公上搜索。
1、第20章 动画图形界面综合应用,能力目标:能编写“气球飘飘”程序,定时播放若干个大小不等的彩色椭圆。能编写图像幻灯片程序,并结合多线程,设定时间间隔自动放映。能编写“空中飞翔”动画程序,并能设定间隔时间以控制放映的速度,还能手工定格动画画面。,内容介绍,20.1 任务预览20.2 气球飘飘20.3 图像幻灯片20.4 动画20.5 本章小结20.6 实训20:编写动画程序,20.1 任务预览,本章实训程序运行结果:,20.2 气球飘飘,【例20-1】编写在窗框绘制椭圆的程序,要求在窗框上绘制10个彩色椭圆,各椭圆大小和位置不一,但最大不超过窗框尺寸的五分之一,并且各椭圆的色彩不尽相同。分析:各
2、椭圆位置和大小不一,色彩不一,涉及到随机数问题。,class Frame1 extends JFrame/窗框类Random rand=new Random();/随机对象public Frame1()this.setTitle(随机绘制10个彩色椭圆);this.setBounds(100,100,300,250);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);public void paint(Graphics g)/绘制方法 int width,height;/窗框宽、高 width=t
3、his.getWidth();height=this.getHeight();g.setColor(Color.WHITE);g.fillRect(0,0,width,height);int x,y,w,h;Color color;/椭圆左、上、宽、高与颜色 for(int i=1;i=10;i+)x=rand.nextInt(width);y=rand.nextInt(height);w=rand.nextInt(width/5);h=rand.nextInt(height/5);color=new Color(rand.nextInt(256),rand.nextInt(256),rand
4、.nextInt(256);g.setColor(color);g.drawOval(x,y,w,h);,【例20-2】编写“气球飘飘”程序:在窗框中每隔一定时间(如半秒)随机产生10个模拟气球的实心椭圆。,各气球大小、位置和色彩不一,最大不超过窗框尺寸的五分之一。本例代码绝大部分与例20-1相同。,class Frame2 extends JFrame/窗框类Random rand=new Random();/随机对象public Frame2()/构造方法public void paint(Graphics g)/绘制方法 int width,height;/窗框宽、高 int x,y,w
5、,h;/椭圆左、上、宽、高 for(int i=1;i=10;i+)/循环10次 x=rand.nextInt(width);color=new Color(rand.nextInt(256),);/颜色随机 g.setColor(color);g.fillOval(x,y,w,h);try Thread.sleep(500);/休眠500毫秒,即半秒 catch(InterruptedException e)this.repaint();/重绘,运用多线程编写“气球飘飘”程序,修改例20-2代码:class Frame2 extends JFrame implements Runnable.
6、public void run()/线程运行方法 while(true)try Thread.sleep(500);/休眠500毫秒,即半秒 catch(InterruptedException e)this.repaint();/重绘 public void paint(Graphics g)./去掉sleep和repaint语句public class Example2/主类public static void main(String args)Frame2 frame=new Frame2();Thread thread=new Thread(frame);/构建线程 thread.st
7、art();,20.3 图像幻灯片,【例20-3】编写图像幻灯片程序,运行时循环放映6幅存放在文件中的图像。说明:为方便编程,各个图像文件统一格式命名,如命名为child0.jpgchild5.jpg,并放在图像文件夹images中。在Eclipse环境中编程,把images放在项目的根目录中。不能直接显示图像文件,必须构建6个图像对象。使用数组来存放。,class Frame3 extends JFrame/窗框类Image imgs=new Image6;/构建图像数组int index=0;/数组索引public Frame3()/构造方法public void initialize()
8、/初始化方法 for(int i=0;i6;i+)imgsi=Toolkit.getDefaultToolkit().createImage(images/child+i+.jpg);public void paint(Graphics g)/绘制方法 g.setColor(Color.WHITE);g.fillRect(0,0,this.getWidth(),this.getHeight();g.drawImage(imgsindex,10,40,120,150,this);try Thread.sleep(500);/休眠500毫秒 catch(InterruptedException e
9、)index+;if(index=6)index=0;/索引循环 this.repaint();,【例20-4】编写可控制的图像幻灯片程序,通过工具栏的5个按钮“放映”、“停止”、“定时”、“上翻”和“下翻”,以控制图像的放映状态。,class Frame4 extends JFrame/窗框类JToolBar toolBar=new JToolBar(工具栏);JButton buttonPlay=new JButton(放映);JButton buttonStop=new JButton(停止);JButton buttonTime=new JButton(定时);JButton butt
10、onUp=new JButton(上翻);JButton buttonDwon=new JButton(下翻);,Image imgs=new Image6;/构建图像数组int index=0;int time=500;MyCanvas canvas=new MyCanvas();/自定义的画布Thread thread;boolean stopFlag=true;public Frame4()/构造方法public void initialize()/初始化方法 for(int i=0;i6;i+)imgsi=Toolkit.getDefaultToolkit().createImage(
11、images/child+i+.jpg);buttonPlay.addActionListener(new ActionHandler();toolBar.add(buttonPlay);this.add(toolBar,BorderLayout.NORTH);this.add(canvas,BorderLayout.CENTER);buttonStop.setEnabled(false);/初始禁用“停止”按钮,/按钮动作事件监听处理类(内部类):class ActionHandler implements ActionListener public void actionPerformed
12、(ActionEvent e)if(e.getSource()=buttonPlay)thread=new Thread(canvas);/构建线程stopFlag=false;buttonPlay.setEnabled(false);/禁用“放映”按钮buttonStop.setEnabled(true);/启用“停止”按钮thread.start();/启动线程 else if(e.getSource()=buttonStop)/若是“停止”按钮stopFlag=true;/设置停止标记thread=null;buttonPlay.setEnabled(true);/启用“放映”按钮but
13、tonStop.setEnabled(false);/禁用“停止”按钮,else if(e.getSource()=buttonTime)/若是“定时”按钮String str=JOptionPane.showInputDialog(请设定每幅图的放映时间(单位:毫秒),time);if(str=null)return;/若输入框按了“取消”按钮try int t=Integer.parseInt(str);if(t0)throw new Exception(警告:请输入正整数!);time=t;catch(Exception ex)JOptionPane.showMessageDialog(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 20 章动 图形界面 综合 应用

链接地址:https://www.31ppt.com/p-5643337.html