|
але своей работы метод определяет текущие размеры окна аплета,
вызывая для этого метод size:
Dimension dimAppWndDimension = size();
Метод size определен в классе Component, от которого в конечном счете
наследуется класс Applet и класс нашего приложения Painter. Этот метод
возвращает ссылку на объект класса Dimension, хранящего высоту и ширину
объекта:
public class java.awt.Dimension
extends java.lang.Object
{
// -----------------------------------------------------
// Поля класса
// -----------------------------------------------------
public int height; // высота
public int width; // ширина
// -----------------------------------------------------
// Конструкторы
// -----------------------------------------------------
public Dimension();
public Dimension(Dimension d);
public Dimension(int width, int height);
// -----------------------------------------------------
// Метод
// -----------------------------------------------------
public String toString();
}
На следующем шаге после определения размеров окна наше приложение рисует в
окне строку, а затем стирает содержимое всего окна:
g.drawString("Невидимая строка", 10, 20);
g.clearRect(0, 0,
dimAppWndDimension.width - 1,
dimAppWndDimension.height - 1);
В качестве начальных координат стираемой области мы указали точку (0, 0) -
это верхний левый угол окна аплета. Ширина и высота стираемой области задана
исходя из размеров аплета, полученных от метода size.
Для того чтобы изменить цвет фона окна, ме его закрашиваем (хотя могли бы
воспользоваться и методом setBackground). Это можно сделать методом fillRect.
Вначале при помощи метода setColor мы выбираем в контекст отображения желтый
цвет, а затем закрашиваем всю внутреннюю область окна аплета методом fillRect:
g.setColor(Color.yellow);
g.fillRect(0, 0,
dimAppWndDimension.width - 1,
dimAppWndDimension.height - 1);
На следующем этапе метод paint выбирает в контекст отображения черный цвет и
рисует черную рамку вокруг окна аплета, вызывая для этого метод drawRect:
g.setColor(Color.black);
g.drawRect(0, 0,
dimAppWndDimension.width - 1,
dimAppWndDimension.height - 1);
Далее при помощи метода drawString обработчик метода paint пишет в верхней
части окна аплета строку, которая останется на экране:
g.drawString("Привет из аплета!", 10, 20);
Для того чтобы продемонстрировать работу функции copyArea, копирующей
прямоугольную область окна аплета, мы нарисовали в окне пять горизонтальных
прямых линий, а затем скопировали результат в правый верхний угол окна аплета:
|
|