MediaTracker类
ImageObserver可以有效地监视单个图像,但是面对多个图像我们用
MediaTracker类;
使用非常简单:
addImage()来把关心的所有图像都加到MediaTracker控制下:addImage(Image image, int id)
我们所给的id是给每个图像一个标识;实际上是用一组ID来把不同的图像组成一个图像组;
在使用图像之前可以用checkID()来查看图像是否已经准备好;
一般是当我们调用drawImage()的时候,才会开始加载图像;现在我们有另外的选择:
我们可以在drawImage()之前调用waitForID()来强制加载图像,这样的话,以后有需要时
再drawImage()一点都不迟;
//MeidaTracker在Image被使用前,而ImageObserver的调用发生在Image被使用后;
构造器的说明:
public MediaTracker(Component comp)
comp是我们希望图像显示在其上的组件,通常Panel,Applet,Canvas;
可以经常在定义部件的子类内部调用这个构造器,所以是this;
addImage()的参数ID决定了图像的加载顺序;
addImage()方法并不加载图像,checkID(ID),checkAll()也都不加载图像,只是查看图像的状态;
当调用checkID(ID,true),checkAll(true)的时候,如果返回false,会加载未完成加载的图像;
还会加载图像的方法是waitForID()和wairForAll()方法:
调用这四个方法的时候,开始加载图像,调用线程将被阻塞等待图像的加载;
如果不希望程序阻塞,我们一般可以在独立线程内部调用这些方法;
错误跟踪:
isErrorAny(),is ErrorID(int id)用来返回是否有错;
Object[] getErrorAnry(),Object[] getErrorID(int id)用来返回错误的对象;
媒体状态:四个常数来指示:
static int ABORTED
Flag indicating that the downloading of media was aborted.
static int COMPLETE
Flag indicating that the downloading of media was completed successfully.
static int ERRORED
Flag indicating that the downloading of media encountered an error.
static int LOADING
Flag indicating that media is currently being loaded.
AppletContext类
就象Servlet有个Context一样,Applet也有代表运行此applet的Web浏览器或者
applet阅读器的字段AppletContext类;
Applet的getAudioClip()和getImage()方法只是调用了applet的AppletContext中的相应方法;
可以这样理解,AppletContext其实是Applet中相应方法的镜象;
showDocument(URL url)是个很有用的方法,可以直接打开新的url链接到的页面;
showDocument(URL url,String frameName) frameName的作用和HTML中的target是一样的;
分享到:
相关推荐
【描述】:这个文档是关于如何在Java环境中实现图片的拷贝和粘贴功能的编程练习,主要涉及了Image、ImageCanvas、MediaTracker以及Clipboard等类的使用。 【标签】:“互联网” - 虽然这个练习可能不直接与互联网...
- **MediaTracker类**:`MediaTracker`类用于跟踪多媒体资源(如图像)的加载状态。它可以帮助开发者确保图像完全加载完成之后再进行显示,从而避免了因图像未加载完成而导致的显示异常问题。这里通过实例化`...
此外,MediaTracker类也是处理图像时的重要工具,它用于跟踪图像的加载状态,确保图像完全加载后再进行后续操作,避免因图像未加载完成导致的错误。 在具体实现中,例如,你可以创建一个Canvas对象,然后利用其`...
18.3.5 MediaTracker类 321 18.4 Graphics2D类 323 18.5 几何图形 323 18.5.1 Line2D类 324 18.5.2 Rectangle2D类 324 18.5.3 Ellipse2D类 325 18.5.4 GeneralPath类 326 18.6 渲染属性 327 18.6.1...
6. **MediaTracker**:Java中的MediaTracker类用于加载和监控图像资源的加载状态。在处理多媒体应用时,确保所有媒体资源已完全加载是非常关键的,MediaTracker可以帮助开发者管理这一过程。 7. **编码和解码库**:...
开发者可能使用了如MIDI或WAV格式的音频文件,并通过Java的MediaTracker类或SoundClip类来播放。 5. **游戏级别调整**:游戏允许玩家调整难度级别,这意味着代码中包含了动态改变方块下落速度、随机生成复杂形状等...
在加载图信息窗口上的图片时,用到java.awt 包中的MediaTracker 类。使用该类的好处是可以更好地管理程序中要使用的图片,同时还可以保证图片和界面同时显示,避免了窗口显示后很久才显示图片的缺点。 运行环境:...
Java获取网页中的图片资源,启动线程,智能解析URL,加载图片资源,显示图片数据,测试时候请用IE打开...本Java例子主要是利用java.awt.MediaTracker 类来跟踪许多不同图像的载入状态并把它们组织为逻辑集。
Java的File类和InputStream/OutputStream类提供了读写文件的方法,而ImageIcon和MediaTracker类则可以帮助加载和管理游戏的多媒体资源。 最后,性能优化是任何游戏开发中不可忽视的一环。Java的垃圾收集机制虽然...
Java提供MediaTracker类来跟踪和加载图像,确保它们在被绘制前已经完全加载。实例化MediaTracker对象,添加待加载的图像,并调用track方法开始加载过程。 3. **创建缓冲区图像**: 在Java中,BufferedImage是用于...
2. **跟踪图片加载状态**:利用`MediaTracker`类来监控图片的加载进度,确保图片完全加载后再继续后续操作。这一步对于提高程序稳定性至关重要。 3. **图片缩放**: - 如果设置了`proportion`为`true`,则会根据原...
1. **加载输入图片**:使用 `Toolkit.getDefaultToolkit().getImage()` 加载图片,通过 `MediaTracker` 确保图片完全加载完毕。 2. **缩放处理**:通过计算缩放比率,调整图片大小,并绘制到新的 `BufferedImage` ...
- MediaTracker是一个类,用于监控图像资源的加载状态。在程序启动时,我们需要确保所有图片(例如时钟的指针和背景)都已成功加载,以防止程序运行时出现错误。 4. **Graphics2D绘图**: - Java的Graphics2D API...
首先,我们要理解的是`MediaTracker`类。在Java AWT(Abstract Window Toolkit)库中,`MediaTracker`是用来管理图像加载和显示的一个关键工具。在处理图形或者媒体文件时,尤其是像幻灯片这样需要展示多个图片的...
它是一个抽象类,通常通过`Toolkit`类或`ImageIcon`类来创建实例。 ##### 2.2 `java.awt.Graphics`类 `Graphics`类是所有图形上下文的基类,它提供了基本的绘图操作,包括绘制图像。通常通过重写组件的`paint()`...
在`ChenWin504`类中,`MediaTracker`用于跟踪图像加载的状态。在Java早期版本中,`MediaTracker`是必要的,因为它可以确保图像在被绘制之前已经完全加载。在这个例子中,`MediaTracker`用于加载并跟踪从URL获取的`...
通过 `MediaTracker` 类来跟踪图片加载状态,确保图片加载完成后才进行下一步操作。这样设计是为了避免因图片加载延迟导致的程序异常。 2. **图像处理**: - `Image` 类用于存储和处理图像,`getImage()` 方法用于...
在这个类中,`Image`对象初始化后,通过`MediaTracker`确保图像加载完成,然后使用`PixelGrabber`获取图像的所有像素数据。这些像素数据被存储到一个`Pixs`对象数组`b`中,每个`Pixs`对象代表图像中的一个像素,包含...
4. **MediaTracker**:`MediaTracker`类用于跟踪图像的加载状态,确保图像完全加载后才进行后续操作。 #### 实现步骤 1. **导入必要的库**: ```java import java.awt.AlphaComposite; import java.awt.Color; ...
`ImageViewer`类接收一个`Image`对象作为参数,并使用`MediaTracker`来跟踪图像加载的状态。 ### 结语 通过上述内容,我们可以看到Java提供了非常灵活且强大的剪切板操作API,使得开发人员能够在应用程序中轻松地...