|
ов в классе Graphics предусмотрено четыре метода,
два из которых рисуют незаполненные многоугольники, а два - заполненные.
Первый метод рисует незаполненный многоугольник, заданный массивами
координат по осям X и Y:
public abstract void
drawPolygon(int xPoints[], int yPoints[], int nPoints);
Через параметры xPoints и yPoints передаются, соответственно, ссылки на
массивы координат по оис X и Y. Параметр nPoints задает количество точек в
массивах.
На рис. 3.6 показан многоугольник, нарисованный методом drawPolygon.
Рис. 3.6. Многоугольник, нарисованный методом drawPolygon
В этом многоугольнике шесть вершин с координатами от (x0, y0) до (x5, y5),
причем для того чтобы он стал замкнутым,координаты первой и последней вершины
совпадают.
Второй метод также рисует незаполненный многоугольник, однако в качетсве
параметра методу передается ссылка на объект Polygon:
public void drawPolygon(Polygon p);
Класс Polygon достаточно прост, поэтому мы приведем его описание полностью:
public class java.awt.Polygon
extends java.lang.Object
{
// -----------------------------------------------------
// Поля класса
// -----------------------------------------------------
public int npoints; // количество вершин
public int xpoints[]; // массив координат по оси X
public int ypoints[]; // массив координат по оси Y
// -----------------------------------------------------
// Конструкторы
// -----------------------------------------------------
public Polygon();
public Polygon(int xpoints[], int ypoints[], int npoints);
// -----------------------------------------------------
// Методы
// -----------------------------------------------------
// Добавление вершины
public void addPoint(int x, int y);
// Получение координат охватывающего прямоугольника
public Rectangle getBoundingBox();
// Проверка, находится ли точка внутри многоугольника
public boolean inside(int x, int y);
}
Ниже мы показали фрагмент кода, в котором создается многоугольник, а затем в
него добавляется несколько точек. Многоугольник рисуется методом drawPolygon:
Polygon p = new Polygon();
p.addPoint(270, 239);
p.addPoint(350, 230);
p.addPoint(360, 180);
p.addPoint(390, 160);
p.addPoint(340, 130);
p.addPoint(270, 239);
g.drawPolygon(p);
Если вам нужно нарисовать заполненный многоугольник (рис. 3.7), то для этого
вы можете воспользоваться методами, приведенными ниже:
public abstract void
fillPolygon(int xPoints[], int yPoints[], int nPoints);
public void fillPolygon(Polygon p);
Первый из этих методов рисует многоугольник, координаты вершин которого
заданы в массивах, второй - получая объект класса Polygon в качестве параметра.
Рис. 3.6. Многоугольник, нарисованный методом drawPolygon
Овалы и круги
Для рисования окружностей и овалов вы можете воспользоваться методом
drawOval:
public abstract void drawOval(int x, int y,
int width, int height);
Параметры этого методы задают координаты и размеры прямоугольника, в который
вписывается рисуемый овал (рис. 3.7).
Рис. 3.7. Рисование овала
Метод fillOval предназначен для рисования заполненного овала (рис. 3.8).
Назначение его параметров аналогично назначению параметров метода drawOval:
public abstract void
fillOval(int x, int y, int width, int height);
Рис. 3.7. Рисование заполненного овала
Сегменты
Метод drawArc предназначен для рисования незаполненного сегмента (рис. 3.8).
Прототип этого метода приведен ниже:
public abstract void drawArc(int x, int y,
int width, int height, int startAngle, int arcAngle);
Рис. 3.8. Рисование незаполненного сегмента
Параметры x, y, width и height задают координаты прямоугольни
|
|