JAVA多线程demo.doc_第1页
JAVA多线程demo.doc_第2页
JAVA多线程demo.doc_第3页
JAVA多线程demo.doc_第4页
JAVA多线程demo.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

package multimediademo;import .*;import java.applet.*;import java.applet.Applet;import java.awt.image.*;import java.awt.*;import multimediademo.ImageFilter;import javax.swing.*;/* * Title: * Description: * Copyright: Copyright (c) 2003 * Company: * author not attributable * version 1.0 */public class DemoThread extends Thread /*类变量* /四个私有变量:滚动面板对象、图像类对象、图形对象和动画类型值 private JScrollPane m_scroll; private Image sourceImage, filteredImage; private Graphics m_graph; /1表示缩放平移动画,2表示不擦除平移动画,3表示淡入淡出动画 private int m_demoType; /申明一个图像过滤器 /ImageFilter imageFilter; /定义初始点 int startX = 50; int startY = 50; boolean REPAINT_MARK; int imageWidth,imageHeight; int panelWidth,panelHeight; int m_imageWidth,m_imageHeight; int STEP = 10; /*类方法* /默认构造函数 public DemoThread() /重载构造函数 public DemoThread(Image image,JScrollPane scrollPanel,int demoType) /给私有变量赋值 sourceImage = image; filteredImage = image; m_scroll = scrollPanel; m_demoType = demoType; /获取图形对象 m_graph = m_scroll.getGraphics(); /获取面板对象和图像的尺寸 imageWidth = filteredImage.getWidth(Component)m_scroll); imageHeight = filteredImage.getHeight(Component)m_scroll); panelWidth = m_scroll.getWidth(); panelHeight = m_scroll.getHeight(); /重载线程操作函数 public void run() initializeRun(); /moveDirect表示图像水平移动的方向:取true表示由左向右移动,false则表示相反的方向 boolean moveDirect = true; while(true) /画动画的第一副图像 if(!REPAINT_MARK) m_graph.drawImage(filteredImage,startX,startY,m_imageWidth,m_imageHeight,m_scroll); try Thread.sleep(1000); catch(InterruptedException e) REPAINT_MARK = true; /画动画的其他图像: /m_demoType表示动画类型,1表示缩放平移动画,2表示不擦除平移动画,3表示淡入淡出动画 else switch (m_demoType) /水平移动缩放动画 case 1: if(moveDirect) /图像由左向右移动并缩小 m_graph.clearRect(startX, startY, m_imageWidth, m_imageHeight); startX += STEP; /判断动画移动是否反向 if (startX + m_imageWidth) panelWidth) startX -= STEP; moveDirect = false; m_graph.clearRect(startX, startY, m_imageWidth, m_imageHeight); try Thread.sleep(1000); catch(InterruptedException e) else m_imageWidth = (int) (m_imageWidth * 0.9); m_imageHeight = (int) (m_imageHeight * 0.9); startY = (panelHeight - m_imageHeight) / 2; m_graph.drawImage(filteredImage, startX, startY, m_imageWidth, m_imageHeight, m_scroll); /图像由右向左移动并放大 else m_graph.clearRect(startX, startY, m_imageWidth, m_imageHeight); startX -= STEP; /判断动画移动是否反向 if(startX 10) moveDirect = true; startX += STEP; m_graph.clearRect(startX, startY, m_imageWidth, m_imageHeight); else m_imageWidth = (int) (m_imageWidth / 0.9); m_imageHeight = (int) (m_imageHeight / 0.9); startY = (panelHeight - m_imageHeight) / 2; m_graph.drawImage(filteredImage, startX, startY, m_imageWidth, m_imageHeight, m_scroll); break; /不擦除平移动画 case 2: /不擦除显示动画 if(moveDirect) STEP = m_imageWidth + 10; startX += STEP; if ( (startX + m_imageWidth) = panelWidth) m_imageWidth = (int) (m_imageWidth * 0.9); m_imageHeight = (int) (m_imageHeight * 0.9); startY = (panelHeight - m_imageHeight) / 2; m_graph.drawImage(filteredImage, startX, startY, m_imageWidth, m_imageHeight, m_scroll); else startX -= STEP; moveDirect = false; /逐一擦除图像 else m_graph.clearRect(startX-10,startY-10,m_imageWidth+15, m_imageHeight+15); m_imageWidth = (int) (m_imageWidth / 0.9) ; m_imageHeight = (int) (m_imageHeight / 0.9); startY = (panelHeight - m_imageHeight) / 2; STEP = m_imageWidth + 10; startX -= STEP; if(startX 200) m_imageWidth = 200; if(m_imageHeight 200) m_imageHeight = 200; /m_demoType表示动画类型,1表示缩放平移动画,2表示不擦除平移动画,3表示淡入淡出动画 switch(m_demoType) case 1: startX = 10; startY = (panelHeight - m_imageHeight)/2; STEP = 50; break; case 2: startX = 10; startY = (panelHeight - m_imageHeight)/2; break; /* case 3: imageFilter = new ImageFilter(); m_imageWidth

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论