
- •Зубрицкий Андрей ип-41
- •Основы графики
- •Графика в Java. Пакеты awt и swing. Различные графические компоненты
- •Что можно рисовать?
- •А также посмотрим возможности, которые дает графика в Java:
- •Достоинства:
- •Недостатки:
- •Преимущества библиотеки Swing:
- •Недостатки:
- •Различные графические компоненты
- •2) Создание окошка с текстовым полем и кнопочкой на awt. Переделка его под swing
- •Переделка окошка под swing
- •Добавление различных компонент в окошко
- •Мультик
- •Как создать объект точки?
- •Как начертить прямую линию?
- •Как задать цвет?
- •Как задать цвет фона?
- •Как нарисовать прямоугольник?
- •Как залить прямоугольник цветом?
- •Как нарисовать овал?
- •Как нарисовать дугу?
- •Как нарисовать многоугольник?
- •Как вывести строку?
- •Как задать шрифт?
- •Изображения
- •Дополнительно Фрейм в потоке диспетчеризации событий
- •Введение в компоновку (FlowLayout)
- •Список использованной литературы и интернет-ресурсов
Как нарисовать прямоугольник?
Нарисовать прямоугольник можно методом drawRect класса Graphics, который в качестве параметрова принимает координаты верхнего угла, длину и высоту.
g.drawRect(20, 40, 340, 20);
20, 40 — это координаты верхнего левого угла прямоугольника; 340 — длина; 20 — высота прямоугольника.
Если же мы хотим нарисоватьт с помощью Graphics2D, то используем уже известный нам метод draw: g.draw(new Rectangle2D.Float(20, 40, 340, 20));
Прямоугольник, который мы с вами нарисовали содержит только контур, но внутри не залит. Давайте создадим прямоугольник, который можно заливать цветом.
Как залить прямоугольник цветом?
Нарисовать залитый прямоугольник можно методом fillRect класса Graphics:
Создаем новый цвет(это мы уже умеем)
newColor = new Color(0, 215, 255);
Устанавливаем его в графическом контексте: g.setColor(newColor);
И создаем наш залитый прямоугольник с помощью метода fillRect(). g.fillRect(21, 41, 339, 19);
Как нарисовать овал?
Теперь давайте научимся создавать овал.
Делается это с помощью метода drawOval класса Graphics. Но при этом аргументы определяют прямоугольник, в который вписан овал:
g.drawOval(20, 110, 150, 60);
Как нарисовать дугу?
Можем также нарисовать дугу методом drawArc класса Graphics. Вот пример, на котором я расскажу об аргументах:
g.drawArc(280, 110, 80, 60, 0, 180);
первые 4 аргумента как у обычного прямоугольника. Пятый аргумент — 0 — это угол, от которого отсчитывается угол самой дуги. 180 — это угол дуги. Углы отсчитывают от горизонтальной оси: по часовой стрелке отрицательное направление, против — положительное. В примере 180 градусов (величина дуги) отсчитываем от горизонтальной линии.
Как нарисовать многоугольник?
Теперь нарисуем что-то посложнее, а именно – многоугольник.
Для того, чтобы нарисовать многоугольник, его нужно сначала создать, а именно нужно создать обьект класса Polygon, конструктор которого принимает как параметры координаты по x и координаты по y всех вершин многульника, а также количество вершин.
Из этого следует что перед созданием обьекта Polygon, нам нужно создать два массива, в которых будет храниться координаты по x и по y соответсвеннно.
int[] arrayX = {20, 100, 100, 250, 250, 20, 20, 50}; int[] arrayY = {180, 180, 200, 200, 220, 200, 200, 190}; Polygon poly = new Polygon(arrayX, arrayY, 8);
Для того чтобы нарисовать созданный нами выше многоугольник, используется метод drawPolygon класса Graphics, который принимает обьект класса Polygon, как параметр: g.drawPolygon(poly);
Как вывести строку?
Если вы захотите вывести какой то текст в своем окне, то можете использовать метод drawString класса Graphics . Этот метод в качестве параметров принимает строку, а также – координаты точки, от которой строка будет выведена.
g.drawString("Yes", 50, 190);
строка "Yes" будет выведена от точки с координатами 50, 190.
Как задать шрифт?
Для того чтобы создать определенный шрифт используется класс Font. Его конструктор в качестве параметров принимает, название, начертание ивысоту шрифта.
Font font = new Font("Tahoma", Font.BOLD, 40), где "Tahoma" — название шрифта,Font.BOLD— жирный шрифт, 40 — высота шрифта.
После задания шрифта мы делаем его текущим и выводим строку этим шрифтом:
g.setFont(font); g.drawString("SBP", 270, 220);