Druzya.org
Возьмемся за руки, Друзья...
 
 
Наши Друзья

Александр Градский
Мемориальный сайт Дольфи. 
				  Светлой памяти детей,
				  погибших  1 июня 2001 года, 
				  а также всем жертвам теракта возле 
				 Тель-Авивского Дельфинариума посвящается...

 
liveinternet.ru: показано количество просмотров и посетителей

Библиотека :: Компьютеры и Программирование :: А.В. Фролов, Г.В. Фролов - Microsoft Visual J++
<<-[Весь Текст]
Страница: из 275
 <<-
 
ует 
выполнить перед удалением аплета. Например, если в методе init вы создавали 
какие-либо задачи, в методе destroy вы можете их завершить.
Метод start
   Метод start вызывается после метода init в момент, когда пользователь 
начинает просматривать документ  HTML с встроенным в него аплетом. Система Java 
Applet Wizard создает заглушку, переопределяющую метод start из базового 
класса:
public void start()
{
  // Сделать: Добавьте сюда дополнительный код,
  //   который должен работать при запуске аплета
}
   Вы можете модифицировать текст этого метода, если при каждом посещении 
пользователем страницы с аплетом необходимо выполнять какую-либо инициализацию.
Метод stop
   Дополнением к методу start служит метод stop. Он вызывается, когда 
пользователь покидает страницу с аплетом и загружает в окно навигатора другую 
страницу. Заметим, что метод stop вызывается перед методом destroy.
   По умолчанию система Java Applet Wizard переопределяет метод stop базового 
класса Applet следующим образом:
public void stop()
{
  // Сделать: Добавьте сюда дополнительный код,
  //   который должен работать при остановке аплета
}
Метод paint
   Наиболее интересен для нас метод paint, который выполняет рисование в окне 
аплета. Вот его исходный текст, созданный системой Java Applet Wizard:
public void paint(Graphics g)
{
  g.drawString(
    "Created with Microsoft Visual J++ Version 1.0", 
    10, 20);
}
   Если посмотреть определение класса Applet, то в нем нет метода paint. В 
каком же классе определен этот метод?
   Взглянем на определение класса Applet:
public  class  java.applet.Applet
    extends  java.awt.Panel
{
  . . .
}
   Во-первых, вы видите, что полное имя класса Applet есть java.applet.Applet. 
Включая оператором import библиотеку классов java.applet.*, мы включали и 
определение класса Applet.
   Во-вторых, из определения класса можно заключить, что класс java.applet.
Applet произошел от класса java.awt.Panel. Напомним, что определение классов 
java.awt.* также было включено в исходный текст нашего аплета оператором import.

   Если класс java.applet.Applet был создан на базе класса java.awt.Panel, то 
нет ли в базовом классе определения метода paint?
   Изучив исходный текст класса java.awt.Panel, убеждаемся, что такого метода 
там нет, однако сам класс java.awt.Panel произошел от класса java.awt.
Container:
public  class  java.awt.Panel
    extends  java.awt.Container
{
  . . .
}
   Продолжим наши исследования. В классе java.awt.Container снова нет метода 
paint, но сам этот класс создан на базе класса java.awt.Component:
public  abstract  class  java.awt.Container
    extends  java.awt.Component
{
  . . .
}
   Но и здесь метода paint нет. Этот метод определен в классе java.awt.
Component, который, в свою очередь, произошел от класса java.lang.Object и 
реализует интерфейс java.awt.image.ImageObserver:
public  abstract  class  java.awt.Component
    extends  java.lang.Object
    implements java.awt.image.ImageObserver
{
  . . .
}
   Мы проследили иерархию классов от класса java.applet.Applet, на базе 
которого создан наш аплет, до класса java.lang.Object, который является базовым 
для всех классов в Java.
   Схематически эту иерархию можно изобразить так:
java.lang.Object (корневой класс)
  -> java.awt.Component
    -> java.awt.Container
      -> java.awt.Panel
        -> java.applet.Applet
   Метод paint определен в классе java.awt.Component, но так как этот класс 
является базовым для класса Applet и для нашего класса HelloAp, мы можем 
переопределить метод paint.
   Теперь о том, когда вызывается метод paint.
 
<<-[Весь Текст]
Страница: из 275
 <<-