Компонент Canvas


Компонент Canvas представляет собой прямоугольную область, где приложение может рисовать что-либо, или может служить основой для пользовательского компонента, который не содержит другой компонент, например, кнопка с изображением.



Для использования Canvas создается класс, расширяющий Canvas, и переопределяется метод paint, отвечающий за отрисовку холста.

Этот метод автоматически вызывается средой выполнения при создании объекта класса, и получает в качестве аргумента объект Graphics.

Класс Graphics обеспечивает основу для всех графических операций в AWT.

Он играет две разные, но связанные роли.

Во-первых, это графический контекст.

Графический контекст – это информация, которая влияет на операции рисования.

Эта информация включает в себя цвета фона и переднего плана, шрифт, а также расположение и размеры отсекающего прямоугольника – область компонента, в котором можно рисовать графику.

Во-вторых, класс Graphics предоставляет методы для рисования простых геометрических фигур, текста и изображений.

Так как класс Graphics является абстрактным базовым классом, он не может быть создан непосредственно.

Экземпляр Graphics создается при создании компонента и передается в качестве аргумента методам update и paint компонента.

При использовании класса Graphics, фактическая работа выполняется конкретными его реализациями, которые тесно связаны с конкретной платформой.

Виртуальная машина Java предоставляет необходимые конкретные классы для вашей среды.

Вам не нужно беспокоиться о классах, специфичных для платформы; как только у вас есть объект Graphics, вы можете вызывать все методы класса Graphics, и быть уверенными, что классы, специфичные для платформы, будут работать правильно, где бы ни работала ваша программа.

Класс Graphics позволяет нарисовать линию.



Закрасить цветом овал и прямоугольник.

Нарисовать строку текста и другое.

Также можно нарисовать изображение, которое можно получить с помощью инструмента Toolkit, который обеспечивает связь с нативной платформой.

Здесь вызов метода drawImage запускает новый поток, который загружает запрошенное изображение.

Последний аргумент метода this – это наблюдатель изображения, который отслеживает процесс загрузки изображения.

Поток, который загружает изображение, уведомляет наблюдателя изображения, когда появляются новые данные.

Класс Component реализует интерфейс ImageObserver, поэтому можно использовать this в качестве наблюдателя изображения при вызове метода drawImage.

Объект Toolkit представляет собой абстрактный класс, который предоставляет интерфейс для получения специфических для платформы деталей, таких как размер окна, доступные шрифты и печать.

Каждая платформа, поддерживающая Java, должна предоставить конкретный класс, который расширяет класс Toolkit.

Вы можете использовать объект Toolkit, если вам нужно получить изображение в приложении, получить информацию о шрифтах, получить цветовую модель, получить параметры экрана и так далее.

Загрузка...