Microsoft Visual J++. Создание приложений и аплетов на языке Java


Метод 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.




Начало  Назад  Вперед



Книжный магазин