
- •Об'єктно-орієнтовані мови. Основні принципи об'єктно-орієнтованого програмування.
- •Відмінності мови Java від інших мов програмування
- •Основні типи даних мови Java.
- •Перетворення даних в програмах на Java.
- •Пакети класів, їх створення та використання.
- •Використання рядків в мові Java. Клас String.
- •Менеджери розташування. Їх призначення та використання Розкладки
- •FlowLayout (послідовне розташування)
- •GridLayout (табличне розташування)
- •BorderLayout (полярне розташування)
- •CardLayout (блокнотне розташування)
- •GridBagLayout (коміркове розташування)
- •Пакет java.Awt. Ієрархія класів в ньому. Клас Component.
- •Контейнери. Їх призначення та загальні методи контейнерів Контейнери
- •Загальні характеристика класу Component (див 13)
- •Використання контейнера Panel та основні його методи. Панель
- •Контейнер Frame, його особливості. Frame (Фрейми)
- •Графічні засоби мови Java. Клас Canvas.
- •Реалізація роботи прапорців та пермикачів. Checkbox (Прапорець та Перемикач)
- •Клас Graphics. Малювання графічних примітивів.
- •Виведення тексту. Клас Font.
- •Повідомлення та події. Поля та методи класу Event Класи подій
- •Обробка повідомлень миші. Основні методи.
- •Виведення растрових зображень. Класи Url та Image. Завантаження растрового зображення
- •Виведення зображення
- •Клас Image
- •Способи усунення мерехтіння при виведенні інформації на екран. Усунення мерехтіння
- •Потоки. Клас Thread.Створення потоків.
- •Створення потоків
- •Виняткові ситуації. Класи Throwable, Exception, Error. 29. Методи обробки виняткових ситуацій.
- •Аплети у порівнянні з додатками
- •Проблема безпеки
- •Включення аплетів в html-документ Створення аплетів
- •Введення-виведення даних. Базові класи введення-виведення
- •Дати порівняльну характеристику протоколів стеку tcp/ip та udp.
- •Створення сокетів tcp
- •4.3 Робота з потоковими сокетами
- •Клас Socket
- •Клас ServerSocket
- •Створення сокетів udp
- •Клас DatagramSocket
- •Клас DatagramPacket
- •Приклад серверного додатку, що реалізує датаграмний сокет.
- •Приклад клієнтського додатку, що реалізує датаграмний сокет.
Виведення тексту. Клас 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 strikethrough_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 має власний контекст – об'єкт класу FontRenderContext, що зберігає всю інформацію, необхідну для виведення тексту. Одержати його можна методом getFontRendexContext() класу Graphics2D.Вся інформація про текст, у тому числі і про його контекст, збирається в об'єкті класу TextLayout. Цей клас в Java 2D замінює клас FontMetrics.У конструкторі класу TextLayout задається текст, шрифт і контекст.