Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shpori_oop.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
441.86 Кб
Скачать
  1. Виведення тексту. Клас Font.

Шрифт – об'єкт класу Font – окрім імені, стилю і розміру має ще півтора десятки атрибутів: підкреслення, перекреслювання, нахил, колір шрифту і колір фону, ширину і товщину символів, аффінне перетворення, розташування зліва направо або справа наліво.

Атрибути шрифту задаються як статичні константи класу TextAttribute. Найбільш використовувані атрибути перераховані в таблиці 14.

На жаль, не всі шрифти дозволяють задати всі атрибути. Подивитися список допустимих атрибутів для даного шрифта можна методом getAvailableAttHbutes() класу Font. Атрибути шрифтів

Атрибут

Значення

BACKGROUND

Колір фону. Об'єкт, що реалізовує інтерфейс Paint

FOREGROUND

Колір тексту. Об'єкт, що реалізовує інтерфейс Paint

BIDI_EMBEDDED

Рівень вкладеності проглядання тексту, ціле від 1 до 15

CHAR_

REPLACEMENT

Фігура, замінююча символ. Об'єкт GraiphicAttribute

FAMILY

Сімейство шрифта. Рядок типа String

FONT

Шрифт. Об'єкт класу Font

JUSTIFICATION

Допуск при вирівнюванні абзаца. Об'єкт класу Float (від 0,0 до 1,0). Є дві константи:

JUSTIFICATION__FULL і JUSTIFICATION_NONE

POSTURE

Нахил шрифта. Об'єкт класу Float. Є дві константи:

POSTUREJDBLIQUE і POSTURE_REGULAR

RUN_DIRECTION

Проглядання тексту: run_direction_ltr – зліва направо, run_DIRECTION_rtl – справа наліво

SIZE

Розмір шрифту в пунктах. Об'єкт класу Float

STRIKETHROUGH

Перекреслювання шрифта. Kонстантa strike­through_on (за замовчуванням перекреслювання немає)

SUPERSCRIPT

Підрядкові або надрядкові індекси. Константи:

SUPERSCRIPT_NO, SUPERSCRIPT_SUB, SUPERSCRT_SUPER

SWAP_COLORS

Заміна місцями кольору текста і кольору фона. Константа Swap_colorsjdn, за замовчуванням заміни немає

TRANSFORM

Перетворення шрифта. Об'єкт класу AffineTransform

UNDERLINE

Підкреслення шрифта. Константи: underline_on,

UNDERLINE_LOW_DASHED, UNDERLINE_LOW_DOTTED, UNDERLINE_LOW_GRAY, UNDERLINE LOW_ONE_PIXEL, UNDERLINE LOW TWO PIXEL

WEIGHT

Товщина шрифта. Константи: WEIGHT_ULTRA_LIGHT, WEIGHT_EXTRA_LIGHT, WEIGHT_LIGHT і ін.

WIDTH

Ширина шрифта. Константи: WIDTH_CONDENSED, WIDTH_SEMI_CONDENSED, WIDTH_REGULAR, WIDTH_SEMI_EXTENDED, WIDTH_EXTENDED

У класі Font є конструктор Font(Map attrib), яким можна відразу задати потрібні атрибути створюваному шрифту. Це вимагає попереднього запису атрибутів в спеціально створений для цієї мети об'єкт класу, що реалізовує інтерфейс Мар: класу HashMap, WeakHashMap або Hashtable. Можна створити шрифт і другим конструктором, яким ми вже користу­ва­лися, а потім додавати і змінювати атрибути методами deriveFont() класу Font.

Текст в Java 2D має власний контекст – об'єкт класу FontRender­Con­text, що зберігає всю інформацію, необхідну для виведення тексту. Одер­жати його можна методом getFontRendexContext() класу Graphics2D.Вся інформація про текст, у тому числі і про його контекст, збирається в об'єкті класу TextLayout. Цей клас в Java 2D замінює клас FontMetrics.У конструкторі класу TextLayout задається текст, шрифт і контекст.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]