Використання JAVA-технологій для розробки графічних додатків

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Курсова робота

Використання JAVA-технологій для розробки графічних додатків

ЗМІСТ

Введення

1. Інструменти

2. Розробки

2.1. Розробки Java 2D

2.2. Розробки Java 3D

2.3. Розробки 3D Paint

3. Висновок ...

Список використаної літератури

Додаток

ВСТУП

Останні кілька років розробники докладали масу зусиль, щоб інтегрувати графіку і анімацію в свої аплети і додатки Java. Однак спочатку включені в Java графічні пакети AWT Java мали обмежені кошти для вирішення таких завдань. Тепер же, використовуючи інтерфейси прикладного програмування Java 2 D і Java 3D, розробники можуть реалізовувати набагато більш складні графічні додатки, включаючи ігри, зберігачі екрану, екранні заставки та тривимірний графічний користувальницький інтерфейс.

Мета роботи. Метою моєї курсової роботи є розробка власного графічного редактора для малювання двомірної і тривимірної графіки, використовуючи мову програмування Java і інтерфейси прикладного програмування Java 2 D і Java 3D.

Програмне забезпечення я назвав 3 D Paint.

Актуальність. На сьогоднішній день графіка має важливе значення для мов програмування. Вона дозволяє візуалізувати будь-які програми, що надає яскравість і зручність для використання тих чи інших програм. Дозволяє створювати яскраві і цікаві Web-сторінки, зручна при розробці баз даних, написанні мобільних і комп'ютерних ігор.

Так як ми живемо в тривимірному світі, то програмування тривимірної графіки на сьогоднішній день є актуальною і розробники мов програмування не можуть залишити цю тему в стороні.

Почнемо з розгляду деяких графічних можливостей Java 2 D і Java 3D. Далі розглянемо створений графічний редактор 3 D Paint.

1. ІНСТРУМЕНТИ

Для написання курсової роботи використовувалися наступні програми:

1. Мова програмування Java з версією jdk 1.6.0.

2. Інструмент для створення тривимірної графіки на Java - Java 3 D з версією 1.5.1.

3. Платформа, інтегрована під Java - NetBeans IDE 6.0.

2. РОЗРОБКИ

2.1. Розробки Java 2 D

Програми, тісно взаємодіють з користувачем, що сприймають сигнали від клавіатури і миші, працюють в графічному середовищі. Кожна програма, призначене для роботи в графічному середовищі, повинно створити хоча б одне вікно, в якому відбуватиметься його робота, і зареєструвати його в графічній оболонці операційної системи, щоб вікно могло взаємодіяти з операційною системою і іншими вікнами: перекриватися, переміщатися, міняти розміри , згортатися в ярлик.

У технології Java графіка ускладнюється тим, що додатки Java повинні працювати в будь-який або хоча б у багатьох графічних середовищах. Потрібна бібліотека класів, незалежна від конкретної графічної системи. У першій версії JDK завдання вирішили наступним чином: були розроблені інтерфейси, що містять методи роботи з графічними об'єктами. Класи бібліотеки AWT реалізують ці інтерфейси для створення додатків. Програми Java використовують ці методи для розміщення і переміщення графічних об'єктів, зміни їх розмірів, взаємодії об'єктів.

Бібліотека класів Java, заснованих на peer-інтерфейсах, отримала назву AWT (Abstract Window Toolkit). При виведенні об'єкта, створеного в додатку Java і заснованого на peer-інтерфейсі, на екран створюється парний йому (peer-to-peer) об'єкт графічної підсистеми операційної системи, який і відображається на екрані.

У версії JDK 1.1 бібліотека AWT була перероблена. У неї додана можливість створення компонентів, повністю написаних на Java і не залежать від peer-інтерфейсів. Такі компоненти стали називати "легкими" (lightweight) на відміну від компонентів, реалізованих через peer-інтерфейси, названих "важкими" (heavy).

Була створена велика бібліотека "легких" компонентів Java, названа Swing. У ній були переписані всі компоненти бібліотеки AWT, так що бібліотека Swing може використовуватися самостійно, незважаючи на те, що всі класи з неї розширюють класи бібліотеки AWT.

Бібліотека класів Swing поставлялася як додаток до JDK 1.1. До складу Java 2 SDK вона включена як основна графічна бібліотека класів, що реалізує ідею "100% Pure Java", поряд з AWT.

У Java 2 Бібліотека AWT значно розширена додаванням нових засобів малювання, виведення текстів і зображень, що одержали назву Java 2D, і засобів, що реалізують переміщення тексту методом DnD (Drag and Drop).

Крім того, в Java 2 включені нові методи вводу / виводу Input Method Framework і засоби зв'язку з додатковими пристроями вводу / виводу, такими як світлове перо або клавіатура Бройля, названі Accessibility.

Всі ці засоби Java 2: AWT, Swing, Java 2D, DnD, Input Method Framework і Accessibility склали бібліотеку графічних засобів Java, названу JFC (Java Foundation Classes).

Компонент і контейнер

Основне поняття графічного інтерфейсу користувача (ГІП) - компонент (component) графічної системи. У російській мові це слово має на увазі просто складову частину, елемент чого-небудь, але в графічному інтерфейсі це поняття набагато конкретніше. Воно означає окремий, повністю певний елемент, який можна використовувати в графічному інтерфейсі незалежно від інших елементів. Наприклад, це поле введення, кнопка, рядок меню, смуга прокрутки, радіокнопка. Саме вікно програми - теж його компонент. Компоненти можуть бути і невидимими, наприклад, панель, яка об'єднує компоненти, теж є компонентом.

У AWT компонентом вважається об'єкт класу Component або об'єкт всякого класу, що розширює клас component. У класі C omponent зібрані загальні методи роботи з будь-яким компонентом графічного інтерфейсу користувача. Цей клас - центр бібліотеки AWT.

Кожен компонент перед виведенням на екран поміщається в контейнер (C ontainer). Контейнер "знає", як розмістити компоненти на екрані. Зрозуміло, в мові Java контейнер - це об'єкт класу Container або будь-якого його розширення. Прямий спадкоємець цього класу - клас J Сomponent - вершина ієрархії багатьох класів бібліотеки Swing.

Створивши компонент - об'єкт класу Component або його розширення, слід додати його до заздалегідь створеному об'єкту класу C ontainer або його розширення одним з методів add ().

Клас Container сам є невидимим компонентом, він розширює клас Component. Таким чином, в контейнер поряд з компонентами можна поміщати контейнери, в яких знаходяться якісь інші компоненти, досягаючи тим самим великий гнучкості розташування компонентів.

Ієрархія класів AWT

Ієрархію основних класів AWT складають готові компоненти: Button, Canvas, Checkbox, Choice, Container, Label, List, Scrollbar, TextArea, TextField, Menubar, Menu, PopupMenu, Menultem, CheckboxMenuItem. Якщо цього набору не вистачає, то від класу Canvas можна породити власні "важкі" компоненти, а від класу Component - "легкі" компоненти (використовувані в бібліотеці Swing).

Основні контейнери - це класи Panel, ScrollPane, Window, Frame, Dialog, FileDialog. Свої "важкі" контейнери можна породити від класу Panel, а "легкі" - від класу Container.

Цілий набір класів допомагає розміщувати компоненти, задавати колір, шрифт, малюнки та зображення, реагувати на сигнали від миші і клавіатури.

Графічні примітиви

При створенні компонента, тобто об'єкта класу Component, автоматично формується його графічний контекст (graphics context). У контексті розміщується область малювання і виведення тексту і зображень. Контекст містить поточний і альтернативний колір малювання і колір фону - об'єкти класу C olor, поточний шрифт для виведення тексту - об'єкт класу Font.

У контексті визначена система координат, початок якої з координатами (0, 0) розташоване у верхньому лівому куті області малювання, вісь Ох направлена ​​вправо, вісь Оу - вниз. Точки координат знаходяться між пікселями.

Управляє контекстом клас Graphics або новий клас Graphics2D, введений в Java 2. Оскільки графічний контекст сильно залежить від конкретної графічної платформи, ці класи зроблені абстрактними. Тому не можна безпосередньо створити екземпляри класу Graphics або Graphics2D.

Однак кожна віртуальна машина Java реалізує методи цих класів, створює їх примірники для компонента і надає об'єкт класу Graphics методом getGraphics () класу Component або як аргумент методів paint () і update ().

Методи класу Graphics

У наступній таблиці наведено деякі методи класу Graphics:

Метод

Опис

Робота з кольором

set C o l or (Color newCo l or)

змінити поточний колір

getColor ()

отримати поточний колір

Color (int red, int green, int blue)

створює колір, що виходить як суміш червоною red, зеленої green і синьою blue складових. Ця колірна модель називається RGB. Кожна складова змінюється від 0 (відсутність складової) до 255 (повна інтенсивність цієї складової).

Color (float red, float green, float blue)

інтенсивність складових можна змінювати більш гладко речовими числами від 0.0 (відсутність складової) до 1.0 (повна інтенсивність складової)

Color (int rgb)

задає всі три складові в одному цілому числі. У бітах 16-23 записується червона складова, в бітах 8-15 - зелена, а в бітах 0-7 - синя складова кольору.

Робота з кресленнями

drawLine (int xl, int yl, int х 2, int y2)

викреслює поточним кольором відрізок прямої між точками з координатами (xl, yl) і (х2, у2).

drawRect (int x, int у, int width, int height)

креслить прямокутник зі сторонами, паралельними краях екрану, що задається координатами верхнього лівого кута (х, у), шириною width пікселів і висотою height пікселів

drawOval (int x, int у, int width, int height)

креслить овал, вписаний в прямокутник, заданий аргументами методу. Якщо width = height, то вийде окружність

drawArc (int x, int у, int width, int height, int startAngle, int arc)

креслить дугу овалу, вписаного в прямокутник, заданий першими чотирма аргументами.

drawRoundRect (int x, int у, int width, int height, int arcWidth, int arcHeight)

креслить прямокутник із закругленими краями. Заокруглення викреслюються четвертинками овалів, вписаних в прямокутники шириною arc W idth і висотою arcHeight, побудовані в кутах основного прямокутника

drawPolyline (int [] xPoints, int [] yPoints, int nPoints)

креслить ламану з вершинами у точках (xPoints [i], ypoints [i]) і числом вершин nPoints

Робота з текстом

drawstring (String s, int x, int y)

виводить рядок s

drawBytes (byte [] b, int offset, int length, int x, int у)

виводить length елементів масиву байтів, починаючи з індексу offset

drawChars (chart] ch, int offset, int length, int x, int у)

виводить length елементів масиву символів ch, починаючи з індексу offset

Робота зі шрифтами

setFont (Font newFont)

встановлює поточний шрифт для виведення тексту

getFont ()

повертає поточний шрифт

Font (String name, int style, int size)

задає Шрифт ВО iменi name, зі стилем style і розміром size друкарських пунктів.

Таблиця 1. Основні методи класу Graphics

Можливості Java 2D

У системі пакетів і класів Java 2D, основа, якої-клас Graphics2D пакету java.awt, є кілька принципово нових положень.

  • Крім координатної системи, прийнятої в класі Graphics і названої координатним простором користувача (User Space), введена ще система координат пристрою виводу (Device Space): екрана монітора, принтера. Методи класу Graphics2D автоматично переводять (transform) систему координат користувача в систему координат пристрою при виведенні графіки.

  • Перетворення координат користувача в координати пристрою можна задати "вручну", причому перетворенням здатне служити будь афінне перетворення площини, зокрема, поворот на будь-який кут і / або стиснення / розтягнення. Воно визначається як об'єкт класу AffineTransform. Його можна встановити як перетворення за замовчуванням методом setTransform (). Можливо виконувати перетворення "на льоту" методами transform і translate і робити композицію перетворень методом concatenate ().

  • Оскільки афінне перетворення речовинно, координати задаються речовими, а не цілими числами.

  • Графічні примітиви: прямокутник, овал, дуга та ін, реалізують тепер новий інтерфейс shape пакету java.awt. Для їх креслення можна використовувати новий єдиний для всіх фігур метод draw, аргументом якого здатний служити будь-який об'єкт, що реалізував інтерфейс shape. Введено метод fill, що заповнює фігури-об'єкти класу, реалізував інтерфейс shape.

  • Для креслення (stroke) ліній введено поняття пера (реп). Властивості пера описує інтерфейс stroke. Клас Basicstroke реалізує цей інтерфейс. Перо володіє чотирма характеристиками:

    • воно має товщину (width) в один (за замовчуванням) або кілька пікселів;

    • воно може закінчити лінію (end cap) заокругленням - статична константа CAP_ROUND, прямим обрізом - CAP_SQUARE (за замовчуванням), або не фіксувати певний спосіб закінчення - CAP_BUTT;

    • воно може сполучати лінії (line joins) заокругленням - статична константа JOIN_ROOND, відрізком прямої - JOIN_BEVEL, або просто зістиковувати - JOIN_MITER (за умовчанням);

    • воно може креслити лінію різними пунктирами (dash) та штрих-пунктирами, довжини штрихів і проміжків задаються в масиві, елементи масиву з парними індексами задають довжину штриха, з непарними індексами - довжину проміжку між штрихами.

  • Методи заповнення фігур описані в інтерфейсі Paint. Три класи реалізують цей інтерфейс. Клас color реалізує його суцільний (solid) заливкою, клас GradientPaint - градієнтним (gradient) заповненням, при якому колір плавно змінюється від однієї заданої точки до іншої заданій точці, клас Texturepaint - заповненням по попередньо заданим зразком (pattern fill).

  • Літери тексту розуміються як фігури, тобто об'єкти, що реалізують інтерфейс shape, і можуть викреслюватися методом draw з використанням всіх можливостей цього методу. При їх викреслюванні застосовується перо, всі методи заповнення та перетворення.

  • Крім імені, стилю та розміру, шрифт отримав багато додаткових атрибутів, наприклад, перетворення координат, підкреслення або перекреслення тексту, виведення тексту справа наліво. Колір тексту і його фону є тепер атрибутами самого тексту, а не графічного контексту. Можна виставити різну ширину символів шрифту, надрядкові та підрядкові індекси. Атрибути встановлюються константами класу TextAttribute.

  • Процес візуалізації (rendering) регулюється правилами (hints), певні константи класу RenderingHints.

З такими можливостями Java 2D стала повноцінною системою малювання, виведення тексту і зображень.

2.2. Розробки Java 3 D

Ми живемо в тривимірному світі. Наш зір дозволяє нам бачити в трьох вимірах з координатами x, y і z. Багато хто з поверхонь, на яких відображається графіка, - наприклад, екрани моніторів або аркуші паперу - є плоскими. Програмування тривимірної графіки дозволяє нам відтворювати реалістичні моделі нашого об'ємного світу на поверхнях у двомірному вигляді. Тривимірна графіка має переваги в тому сенсі, що практично все, що ви можете бачити навколо, можна моделювати - цифровим чином представити форму і розміри, а також відобразити - намалювати на екрані комп'ютера.

В даний час існує велика кількість програм, які дозволяють працювати з тривимірною графікою - від ігор і медичного обладнання до тривимірних ігор та зберігачів екранів. Досягнення в галузі комп'ютерного апаратного забезпечення призвели до значного зростання інтересу до тривимірної графіки. Успіх у створенні високопродуктивного апаратного забезпечення сприяли розробкам високоефективних інтерфейсів прикладного програмування тривимірної графіки - від створеного в 70-х роках API CORE від Siggraph і створення в 80-х роках минулого століття OpenGL компанією SGI, до сьогоднішніх засобів програмування тривимірної графіки, включаючи Microsoft DirectSD і Java 3 D.

Тривимірна графіка вимагає графічних алгоритмів, що використовують складний математичний апарат. Java 3D надає розробникам надійні і розвинені можливості для роботи з тривимірною графікою, в той же час залишаючи за сценою математику, необхідну для реалізації графічних алгоритмів. Java 3D - це високорівнева API програмування тривимірної графіки. Java 3D управляє всіма необхідними низькорівневими операціями для роботи з графікою, тому розробники можуть створювати складні тривимірні сцени, не замислюючись про використаний апаратному забезпеченні. Подібно Java, код Java 3D, будучи написаним, одного разу, працює повсюдно. Додатка Java 3D будуть працювати аналогічним чином на різних графічних платформах.

Sun Microsystems розробляла Java 3D API, маючи на увазі чотири основні цілі: переносимість додатків, незалежність від апаратного забезпечення, масштабування продуктивності та здатність працювати з тривимірною графікою через мережу. Спрощення складних графічних операцій відігравало ключову роль при розробці Java 3D API. Ось деякі області та сфери застосування API Java 3D:

  • візуалізація тривимірних даних,

  • взаємодіючі між собою програми,

  • ігри (особливо мережеві з кількома учасниками),

  • ділова графіка,

  • інтерактивні навчальні системи,

  • моделювання та візуалізація молекулярних структур,

  • розробка тривимірних Web-додатків,

  • розробка тривимірних графічних користувацьких інтерфейсів.

Java 3D пропонує кілька функціональних можливостей, які можуть використовуватися для розробки тривимірних графічних додатків:

  • Поведінки. Java 3D підтримує безліч поводжень, включаючи анімацію і переміщення, виявлення зіткнень (виявлення, коли два об'єкти стикаються) і морфінг (трансформацію одного зображення в інше зображення).

  • Вуалювання. Java 3D підтримує вуалювання вмісту, що обмежує можливість перегляду певних об'єктів у сцені. Наприклад, вуалювання допомагає створити реалістичну модель зливи або урагану в грі.

  • Геометрія. Java 3D має вбудовані тривимірні графічні примітиви для створення геометричних фігур. У Java 3D можна відображати сцени, створені в інших додатках тривимірної графіки, наприклад, SDStudio Мах, VRML і LightwaveSD.

  • Освітлення. Java 3D дозволяє освітлювати об'єкти тривимірної сцени. Java 3D підтримує різні види освітлення і управління його кольором, напрямком і інтенсивністю.

  • Звук. Унікальною особливістю Java 3D є підтримка SD-звуку.

Текстури. Java 3D підтримує накладення текстур на поверхні тривимірних фігур.

Сцени Java 3 D.

Зображення, що відображаються за допомогою Java 3D, називають сценами. Сцену також називають віртуальному всесвіті - це тривимірне простір, який містить набір фігур. Коренем сцени Java 3D є об'єкт VirtualUniverse. Об'єкт VirtualUniverse має систему координат для місцеположення графів сцени, які вона містить. Кожна тривимірна сцена Java 3D описується поряд графів сцени - ієрархічних структур, які задають атрибути тривимірної середовища. Кожен граф сцени прикріплений до об'єкта VirtualUniverse в певній точці системи координат віртуальної системи. Граф сцени складається з внутрішньої системи координат і графів - гілок. Кожен граф сцени має внутрішню систему координат. Клас Locale є кореневим вузлом графа сцени і містить вкладені системи координат для віртуальної всесвіту і ряд графів-гілок. У Java 3D є два типи графів-гілок: граф-гілки вмісту і графи-гілки подання. Графи-гілки вмісту задають вміст у тривимірних сценах, включаючи геометрію, освітлення, текстури, вуалювання і поведінку. Графи-гілки уявлення містять платформи спостереження - колекції об'єктів, які визначають перспективу, позицію, орієнтацію і масштаб в тривимірних сценах. Платформу спостереження також називають точкою зору.

Клас SceneGraphObject Java 3D - базовий клас для всіх об'єктів у графі-гілки. Об'єкт SceneGraphObject може містити групу Group, яка являє собою вузол, що містить безліч дочірніх вузлів. Дочірніми вузлами групи Group можуть бути групи (об'єкт Group), листя (об'єкт Leaf) або вузли-компоненти (об'єкт NodeComponents). Вузли-листя Leaf задають геометрію, освітлення і звук у графах-гілках вмісту і компоненти платформи спостереження в графі-гілки подання. Об'єкти NodeComponent задають різні компоненти в об'єктах Group і Leaf, такі як текстура і атрибути кольору.

У наступній таблиці наведені деякі підкласи класів Group, Leaf і Node - Component:

Клас

Опис

Частковий список класів класу Group Java 3D

BranchGroup

Кореневий вузол (об'єкт Node) графа сцени, який вкладений в клас Locale

Switch

Може відображати або один дочірній вузол, або кілька дочірніх вузлів, що задаються маскою

TransformGroup

Містить перетворення (наприклад, переміщення, обертання або масштабування)

Частковий список класів класу Leaf

Behavior

Містить методи для отримання користувацького вводу (наприклад,

натиснення клавіш і клацань мишею), а також методи, які описують поведінку об'єкта при певних подіях (наприклад, при зіткненнях)

Light

Описує набір параметрів джерел освітлення Java 3D

Shape3D

Описує тривимірні геометричні об'єкти

ViewPlatform

Управляє точкою спостереження тривимірної сцени

Частковий список класів класу NodeComponent

Appearance

Задає атрибути об'єкта Shape 3 D, такі як колір і текстура

Material

Описує властивості освітленого об'єкта (наприклад, відбитий колір.

Таблиця 2. Основні методи підкласу класів Group, Leaf і Node - Component

2.3. Розробки 3 D Paint

У даній роботі я створив графічний редактор 3D Paint.

Ідеєю мого проекту є використання двомірної і тривимірної графіки на Java для створення зручного та багатофункціонального графічного редактора.

Для реалізації проекту мені було потрібно вивчити детально графіку на Java і розробки перерахованих вище програмних інтерфейсів Java 2 D і Java 3 D.

На першому етапі я створив саму візуальну оболонку (каркас графічного редактора); тривимірні фігури: «кольорової куб», «циліндр», «сфера», «паралелепіпед», «конус» і створення тривимірного тексту, з можливістю зміна типу шрифту, розміру та стилю; панель зміни кольору для фігур і для фону, де розміщуються фігури.

На другому етапі я планую створити панель з двомірної графікою, яка буде малювати: лінії, прямокутники, трикутники та інші елементи, з можливістю зміни кольору, затирання, трансформації. Також я хочу пов'язати тривимірну і двомірну графіку для створення спільних проектів, таких як дизайн тривимірного об'єкта або звичайне малювання графічних зображень.

У початку проекту, використовуючи програмне забезпечення NetBeans IDE 6.0, я створив так званий каркас додатку (Рис 1). Він дозволяє керувати, створеними фігурами тривимірної графіки. Всі кнопки і панелі (меню, управління) знаходяться у пакунках SWING і AWT.

Рис 1. Графічний редактор 3 D Paint

На лівій панелі програми розташовуються кнопки з фігурами, на нижній панелі кнопки управління цими фігурами, центральна панель відображає фігури і дії над ними. Панелі розташовані за допомогою розкладчика BorderLayout (розкладчики по сторонах світу). А кнопки на цих панелях розташовуються за допомогою розкладчика FreeDesignLayout.

Далі створив примітивні геометричні фігури, використовуючи бібліотеку com.sun.j3d.utils.geometry. Клас geometry зберігає в собі тривимірні фігури: cylinder, box, cube, sphere, cone.

Наприклад для створення тривимірної фігури «Циліндр» використовується наступний код:

Cylinder CylinderObj = new Cylinder (0.7f, 1.4f, ap);

objTrans.addChild (CylinderObj);

де 0.7 f і 1.4 f це розмір фігури (ширина і довжина).

Фігура може виконувати наступні дії:

MouseRotate behavior = new MouseRotate (objTrans);

objTrans.addChild (behavior);

behavior.setSchedulingBounds (bounds);

- Обертання при допомоги лівої кнопки миші.

MouseZoom behavior2 = new MouseZoom (objTrans);

objTrans.addChild (behavior2);

behavior 2. setSchedulingBounds (bounds);

- Зміна розміру фігури за допомогою коліщатка миші (трансформація).

orbit = new OrbitBehavior (c, OrbitBehavior.REVERSE_ALL |

OrbitBehavior.STOP_ZOOM);

BoundingSphere bounds = new BoundingSphere (new Point3d (0.0, 0.0, 0.0), 100.0);

orbit.setSchedulingBounds (bounds);

viewingPlatform.setViewPlatformBehavior (orbit);

- Перетягування фігури по робочій області за допомогою правої кнопки миші.

Transform3D yAxis = new Transform3D ();

Alpha rotationAlpha = new Alpha (-1, 10);

RotationInterpolator rotator = new RotationInterpolator (rotationAlpha, objTrans, yAxis, 0.0f, (float) Math.PI *- 2.0f);

BoundingSphere bounds1 = new BoundingSphere (new Point3d (0.0,0.0,0.0), 100.0);

rotator.setSchedulingBounds (bounds1);

objRoot.addChild (rotator);

- Обертання тривимірної фігури. За допомогою цього коду можна задавати швидкість обертання і напрям обертання фігури (по або проти годинникової стрілки).

Для створення тривимірного тексту використовується клас Font 3 D з бібліотеки javax.media.j3d. Клас Font 3 D містить у собі методи завдання імені тривимірного тексту, типу тексту (жирний, курсив, підкреслений), розміру. До тривимірному тексту, як і до інших тривимірним об'єктів можна застосовувати вище перераховані дії: обертання, переміщення і трансформацію.

Також в програмі є можливість управління кольором. Можна міняти як колір фону, так і колір самого тривимірного об'єкта. Управління кольором здійснюється за допомогою класу ColorChooser з пакету javax. Swing. Колір можна змінювати за допомогою різних систем завдання кольору. ColorChooser містить три системи RGB, HSB і Swatches.

Для зручності в програмі створена панель меню, що містить меню-бар «Файл» і «Довідка» з класу JMenyBar. А меню-бар містить вкладки «Вихід» і «О 3 DPaint» з класу JMeny.

При натисканні на вкладку в меню «О 3 DPaint» виходить діалогова панель, що належить пакету javax. Swing, що містить інформацію про програмне забезпечення, версії та творця.

ВИСНОВОК

Цим завершується наш розгляд графіки на Java. У цій роботі ми представили короткий огляд засобів програмування тривимірної і двомірної графіки на Java. Ми показали, що ефективність, розширюваність і простота Java 3D робить цей інтерфейс прикладного програмування відмінним вибором для розробників, які прагнуть вбудувати в свої додатки тривимірну графіку. Ми представили додаток, яке демонструють використання геометричних фігур, текстур, освітлення і поводжень в Java 3 D.

Ми обговорили деякі графічні можливості Java. Ми почали з короткого знайомства з фундаментальними основами графіки, такими як системи координат і графічні контексти. Потім ми обговорили заходи Java 2 D. Ми також коротко розповіли, як використовувати графічні ефекти.

Друга половина нашого знайомства з графічним програмуванням стосувалася Java 3D. Використовуючи класи Java 3D і Java 2 D ми створили простий графічний редактор 3 D Paint, який дає можливість користувачеві змінювати властивості сцени Java 3D, включаючи маніпулювання тривимірними об'єктами (обертання, масштабування та переміщення) за допомогою миші і зміна освітлення сцени.

Список використаної літератури

1. Х. М. Дейтел, П.Дж. Дейтел, С.І. Сантрі - Технології програмування на Java, книга 1 (графіка, JAVABEANS, інтерфейс користувача)

2. Джуді Бішоп - Ефективна робота Java

3. James Gosling, Bill Joy, Guy Steele, Gilad Bracha - The Java Language Specification, Second Edition.

4. Tim Lindholm, Frank Yellin - The Java Virtual Machine Specification, Second Edition.

5. Гослінг Дж., Арнольд К. - Мова програмування Java

6. Інформація з сайту www.infocom.uz

7. Інформація з офіційного сайту Java www.java.sun.com

Посилання (links):
  • http://www.java.sun.com/
  • Додати в блог або на сайт

    Цей текст може містити помилки.

    Програмування, комп'ютери, інформатика і кібернетика | Курсова
    73.9кб. | скачати


    Схожі роботи:
    Використання JAVA технологій для розробки графічних додатків
    Методика розробки та використання засобів інформаційно-комунікаційних технологій для формування 2
    Методика розробки та використання засобів інформаційно-комунікаційних технологій для формування
    Розробка Web додатків із застосуванням Java Servlet технології
    Використання скриптів Java у документі Опис основних тегів для введення скриптів у документ
    Принципи розробки плану використання засобів масової інформації для реклами
    Використання Internetintranet технологій для організації доступу до баз даних
    Використання інформаційних технологій для контролю та оцінки знань в освітніх установах
    Використання інформаційних технологій для діагностики та покращення стану навколишнього середовища і
    © Усі права захищені
    написати до нас