|
а, в который
вписан сегмент.
Параметры startAngle и arcAngle задаются в градусах. Они определяют,
соответственно, начальный угол и угол разворота сегмента.
Для того чтобы нарисовать заполненный сегмент, вы можете воспользоваться
методом fillArc:
public abstract void
fillArc(int x, int y, int width,
int height, int startAngle, int arcAngle);
Задание области ограничения
Если для окна аплета задать область ограничения, то рисование будет возможно
только в пределах этой области. Область ограничения задается методом clipRect,
прототип которого мы привели ниже:
public abstract void
clipRect(int x, int y, int width, int height);
Параметры x, y, width и height задают координаты прямоугольной области
ограничения.
Копирование содержимого прямоугольной области
Метод copyArea позволяет скопировать содержимое любой прямоугольной области
окна аплета:
public abstract void
copyArea(int x, int y, int width,
int height, int dx, int dy);
Параметры x, y, width и height задают координаты копируемой прямоугольной
области. Область копируется в другую прямоугольную область такого же размера,
причем параметры dx и dy определяют координаты последней.
Приложение Painter
В этом разделе мы рассмотрим исходные тексты аплета Painter, в которых
демонстрируется использование большинства только что описанных нами функций
рисования.
Внешний вид окна аплета при просмотре соответствующего документа HTML
навигатором Microsoft Internet Explorer показано на рис. 3.9.
Рис. 3.9. Окно аплета Painter
Здесь мы написали текстовую строку, нарисовали несколько горизонтальных
линий, скопировав это линии в другое место окна, а также изобразили несколько
простейших геометрических фигур.
Исходные файлы приложения Painter
В листинге 3.1 мы привели исходный текст аплета Painter.
Листинг 3.1. Файл Painter\Painter.java
// =========================================================
// Аплет, демонстрирующий использование различных
// функций рисования
//
// (C) Фролов А.В, 1997
//
// E-mail: [email protected]
// WWW: http://www.glasnet.ru/~frolov
// или
// http://www.dials.ccas.ru/frolov
// =========================================================
import java.applet.*;
import java.awt.*;
public class Painter extends Applet
{
// -------------------------------------------------------
// Painter
// Конструктор не используется
// -------------------------------------------------------
public Painter()
{
}
// -------------------------------------------------------
// getAppletInfo
// Метод, возвращающей строку информации об аплете
// -------------------------------------------------------
public String getAppletInfo()
{
return "Name: Painter\r\n" +
"Author: Alexandr Frolov\r\n" +
"E-mail: [email protected]" +
"WWW: http://www.glasnet.ru/~frolov" +
"Created with Microsoft Visual J++ Version 1.0";
}
// -------------------------------------------------------
// init
// Вызывается во время инициализации аплета
// -------------------------------------------------------
public void init()
{
// Для того чтобы размеры окна аплета можно было
// задавать в документе HTML, закрываем следующую
// строку символом комментария
// resize(320, 240);
}
// -------------------------------------------------------
// destroy
// Метод destroy не используется
// -------------------------------------------------------
public void dest
|
|