Главная Интернет WEB-учебник Java в примерах


Интернет клуб

Новая страница
Описание html
Javascript
Java в примерах

Что такое JAVA?
Первое приложение на JAVA
Первый апплет на JAVA
Управление шрифтами
Строковые переменные
Работа с массивами
Работа с графикой
Операции с мышкой
Операции с клавиатурой
Структура апплета
Работа с потоками
Передача параметров в апплет
Загрузка изображения в апплет
Контроль за ходом загрузки изображения
Двойная буферизация
Создание изображения из массива данных
Корректировка изображения

Полезные сайты
Задайте вопрос









Web-учебник. Раздел 4. Java в примерах.

Загрузка изображения в апплет




Класс Image обеспечивает поддержку работы с изображениями.
Простейший способ вывода изображения в апплет состоит из 2 этапов:
- Загрузить изображение в обьект класса Image ,
- Вывести изображение на экран.
1. Для загрузки изображения используется метод getImage класса Applet . Метод имеет следующий формат:
Image getImage(URL адрес, String имя);
Здесь адрес указывает адрес в Интернете, где находится требуемый файл изображения, имя указывает имя этого файла.
Чаще всего Вы будете загружать изображение, находящееся в Вашей странице. Тогда можно указать метод getDocumentBase() , который возвращает ссылку на страницу, содержащую апплет.
Загружают изображение обычно при перекрытии метода init() .
2. Для вывода изображения на экран используется метод drawImage класса Graphics . Метод имеет следующий формат:
boolean drawImage(Image обьект, XBegin, YBegin, контролер);
Параметр контролер - это ссылка на класс, выполняющий анализ загрузки. Мы разберем его позже.

Загружают изображение обычно при перекрытии метода paint() .
Итак, выведем в апплет находящийся на моей домашней странице файл SHISHKIN.JPG

//------------------------------------------------------------  
//   Program :  MyFirstImage
//------------------------------------------------------------  
//   Author  :  Katz Yakov 
//------------------------------------------------------------  
//   Date    :  20/01/98
//------------------------------------------------------------
  
import java.awt.*;
import java.applet.*;
//------------------------------------------------------------  
// Создаем класс MyFirstImage
public  class  MyFirstImage  extends  Applet{
   // Перекрываем функцию init()
   public void init() {
      // Загрузка изображения
      Image picture = getImage(getCodeBase(),"SHISHKIN.JPG");
   }
   // Перекрываем функцию paint()
   public void paint(Graphics  gr) {
      // Вывод изображения на экран
      gr.drawImage(picture, 0, 0, this) ;
   }
}
Апплет выглядит следующим образом:

Изображение на экран выводится, но здесь есть несколько недостатков:
1. Изображение перерисовывается полностью каждый раз при поступлении новой порции - поэтому при загрузке оно выглядит мигающим.
2. Используется метод repaint() , который перерисовывает изображение через 0.1 секунды.
3. Стандартная реализация не учитывает возможности сбоя при загрузке изображения - в этом случае никакого сообщения пользователь не получит.







  ©1996-2007   Megapolis Org   E-mail:   info@megapolis.org