Класс MediaTracker
Листинг 14.9. Звук и изображение в апплете.
import java.applet.*; import java.awt.*; import java.awt.image.*; public class SimpleAudioImage extends Applet{ private Image img; private Audioclip ac; public void init(){ img = getImage(getDocumentBase(), "javalogo52x88.gif"); ac = getAudioClip(getDocumentBase(), "yesterday.au"); } public void start (){ ac.loop(); } public void paint(Graphics g){ int w = img.getWidthfthis), h = img.getHeight(this); g.drawlmage(img, 0, 0, 2 * w, 2 * h, this); } public void stop() { ac.stop(); } }
Рис. 14.5. Вывод изображения
Перед выводом на экран изображение можно преобразовать, но об этом поговорим в следующей главе.
Как видите, апплету в браузере позволено очень немного. Это не случайно. Апплет, появившийся в браузере откуда-то из Internet, может натворить много бед. Он может быть вызван из файла с увлекательным текстом, невидимо обыскать файловую систему и похитить секретные сведения, или, напротив, открыть окно, неотличимое от окна, в которое вы вводите пароль, и перехватить его.
Поэтому браузер сообщает при загрузке апплета: "Applet started", а в строке состояния окна, открытого апплетом, появляется надпись: "Warning: Applet Window".
Но это не единственная защита от апплета. Рассмотрим данную проблему подробнее.