![]() |
|
сделать стартовой | добавить в избранное |
![]() |
Использование JAVA-технологий для разработки графических приложений |
КУРСОВАЯ РАБОТА Использование JAVA-технологий для разработки графических приложений СОДЕРЖАНИЕВведение 1. Инструменты 2. Разработки 2.1. Разработки Java 2D 2.2. Разработки Java 3D 2.3. Разработки 3D Pai 3. Заключение Список используемой литературы Приложение ВВЕДЕНИЕ Последние несколько лет разработчики прилагали массу усилий, чтобы интегрировать графику и анимацию в свои апплеты и приложения Java. Однако первоначально включенные в Java графические пакеты AW Java имели ограниченные средства для решения таких задач. Теперь же, используя интерфейсы прикладного программирования Java 2D и Java 3D, разработчики могут реализовывать гораздо более сложные графические приложения, включая игры, хранители экрана, экранные заставки и трехмерный графический пользовательский интерфейс. Цель работы. Целью моей курсовой работы является разработка собственного графического редактора для рисования двухмерной и трехмерной графики, используя язык программирования Java и интерфейсы прикладного программирования Java 2D и Java 3D. Программное обеспечение я назвал 3D Pai . Актуальность. На сегодняшний день графика имеет немаловажное значение для языков программирования. Она позволяет визуализировать любые программы, что придает яркость и удобство для использования тех или иных программ. Позволяет создавать яркие и интересные Web-страницы, удобна при разработке баз данных, написании мобильных и компьютерных игр. Так как мы живем в трехмерном мире, то программирование трехмерной графики на сегодняшний день является актуальной и разработчики языков программирования не могут оставить эту тему в стороне. Начнем с рассмотрения некоторых графических возможностей Java 2D и Java 3D. Далее рассмотрим созданный графический редактор 3D Pai . 1. ИНСТРУМЕНТЫ Для написания курсовой работы использовались следующие программы: 1. Язык программирования Java с версией jdk1.6.0. 2. Инструмент для создания трехмерной графики на Java – Java3D с версией 1.5.1. 3. Платформа, интегрированная под Java - e Bea s IDE 6.0. 2. РАЗРАБОТКИ 2.1. Разработки Java 2D Программы, тесно взаимодействующие с пользователем, воспринимающие сигналы от клавиатуры и мыши, работают в графической среде. Каждое приложение, предназначенное для работы в графической среде, должно создать хотя бы одно окно, в котором будет происходить его работа, и зарегистрировать его в графической оболочке операционной системы, чтобы окно могло взаимодействовать с операционной системой и другими окнами: перекрываться, перемещаться, менять размеры, сворачиваться в ярлык. В технологии Java графика осложняется тем, что приложения Java должны работать в любой или хотя бы во многих графических средах. Нужна библиотека классов, независимая от конкретной графической системы. В первой версии JDK задачу решили следующим образом: были разработаны интерфейсы, содержащие методы работы с графическими объектами. Классы библиотеки AW реализуют эти интерфейсы для создания приложений. Приложения Java используют данные методы для размещения и перемещения графических объектов, изменения их размеров, взаимодействия объектов. Библиотека классов Java, основанных на peer-интерфейсах, получила название AW (Abs rac Wi dow oolki ).
При выводе объекта, созданного в приложении Java и основанного на peer-интерфейсе, на экран создается парный ему (peer- o-peer) объект графической подсистемы операционной системы, который и отображается на экране. В версии JDK 1.1 библиотека AW была переработана. В нее добавлена возможность создания компонентов, полностью написанных на Java и не зависящих от peer-интерфейсов. Такие компоненты стали называть &quo ;легкими&quo ; (ligh weigh ) в отличие от компонентов, реализованных через peer-интерфейсы, названных &quo ;тяжелыми&quo ; (heavy). Была создана обширная библиотека &quo ;легких&quo ; компонентов Java, названная Swi g. В ней были переписаны все компоненты библиотеки AW , так что библиотека Swi g может использоваться самостоятельно, несмотря на то, что все классы из нее расширяют классы библиотеки AW . Библиотека классов Swi g поставлялась как дополнение к JDK 1.1. В состав Java 2 SDK она включена как основная графическая библиотека классов, реализующая идею &quo ;100% Pure Java&quo ;, наряду с AW . В Java 2 библиотека AW значительно расширена добавлением новых средств рисования, вывода текстов и изображений, получивших название Java 2D, и средств, реализующих перемещение текста методом D D (Drag a d Drop). Кроме того, в Java 2 включены новые методы ввода/вывода I pu Me hod Framework и средства связи с дополнительными устройствами ввода/вывода, такими как световое перо или клавиатура Бройля, названные Accessibili y. Все эти средства Java 2: AW , Swi g, Java 2D, D D, I pu Me hod Framework и Accessibili y составили библиотеку графических средств Java, названную JFC (Java Fou da io Classes). Компонент и контейнер Основное понятие графического интерфейса пользователя (ГИП) — компонент (compo e ) графической системы. В русском языке это слово подразумевает просто составную часть, элемент чего-нибудь, но в графическом интерфейсе это понятие гораздо конкретнее. Оно означает отдельный, полностью определенный элемент, который можно использовать в графическом интерфейсе независимо от других элементов. Например, это поле ввода, кнопка, строка меню, полоса прокрутки, радиокнопка. Само окно приложения — тоже его компонент. Компоненты могут быть и невидимыми, например, панель, объединяющая компоненты, тоже является компонентом. В AW компонентом считается объект класса Compo e или объект всякого класса, расширяющего класс compo e . В классе Compo e собраны общие методы работы с любым компонентом графического интерфейса пользователя. Этот класс — центр библиотеки AW . Каждый компонент перед выводом на экран помещается в контейнер (Co ai er). Контейнер &quo ;знает&quo ;, как разместить компоненты на экране. Разумеется, в языке Java контейнер — это объект класса Co ai er или всякого его расширения. Прямой наследник этого класса — класс JСompo e — вершина иерархии многих классов библиотеки Swi g. Создав компонент — объект класса Compo e или его расширения, следует добавить его к предварительно созданному объекту класса Co ai er или его расширения одним из методов add (). Класс Co ai er сам является невидимым компонентом, он расширяет класс Compo e .
Таким образом, в контейнер наряду с компонентами можно помещать контейнеры, в которых находятся какие-то другие компоненты, достигая тем самым большой гибкости расположения компонентов. Иерархия классов AW Иерархию основных классов AW составляют готовые компоненты: Bu o , Ca vas, Checkbox, Choice, Co ai er, Label, Lis , Scrollbar, ex Area, ex Field, Me ubar, Me u, PopupMe u, Me ul em, CheckboxMe uI em. Если этого набора не хватает, то от класса Ca vas можно породить собственные &quo ;тяжелые&quo ; компоненты, а от класса Compo e — &quo ;легкие&quo ; компоненты (используемые в библиотеке Swi g). Основные контейнеры – это классы Pa el, ScrollPa e, Wi dow, Frame, Dialog, FileDialog. Свои &quo ;тяжелые&quo ; контейнеры можно породить от класса Pa el, а &quo ;легкие&quo ; — от класса Co ai er. Целый набор классов помогает размещать компоненты, задавать цвет, шрифт, рисунки и изображения, реагировать на сигналы от мыши и клавиатуры. Графические примитивы При создании компонента, т. е. объекта класса Compo e , автоматически формируется его графический контекст (graphics co ex ). В контексте размещается область рисования и вывода текста и изображений. Контекст содержит текущий и альтернативный цвет рисования и цвет фона — объекты класса Color, текущий шрифт для вывода текста — объект класса Fo . В контексте определена система координат, начало которой с координатами (0, 0) расположено в верхнем левом углу области рисования, ось Ох направлена вправо, ось Оу — вниз. Точки координат находятся между пикселями. Управляет контекстом класс Graphics или новый класс Graphics2D, введенный в Java 2. Поскольку графический контекст сильно зависит от конкретной графической платформы, эти классы сделаны абстрактными. Поэтому нельзя непосредственно создать экземпляры класса Graphics или Graphics2D. Однако каждая виртуальная машина Java реализует методы этих классов, создает их экземпляры для компонента и предоставляет объект класса Graphics методом ge Graphics() класса Compo e или как аргумент методов pai () и upda e(). Методы класса Graphics В следующей таблице приведены некоторые методы класса Graphics: Метод Описание Работа с цветом se Color (Color ewColor) изменить текущий цвет ge Color () получить текущий цвет Color(i red, i gree , i blue) создает цвет, получающийся как смесь красной red, зеленой gree и синей blue составляющих. Эта цветовая модель называется RGB. Каждая составляющая меняется от 0 (отсутствие составляющей) до 255 (полная интенсивность этой составляющей). Color(floa red, floa gree , floa blue) интенсивность составляющих можно изменять более гладко вещественными числами от 0.0 (отсутствие составляющей) до 1.0 (полная интенсивность составляющей) Color(i rgb) задает все три составляющие в одном целом числе. В битах 16—23 записывается красная составляющая, в битах 8—15 — зеленая, а в битах 0—7 — синяя составляющая цвета. Работа с чертежами drawLi e(i xl, i yl, i х2, i y2) вычерчивает текущим цветом отрезок прямой между точками с координатами (xl, yl) и (х2, у2). drawRec (i x, i у, i wid h, i heigh ) чертит прямоугольник со сторонами, параллельными краям экрана, задаваемый координатами верхнего левого угла (х, у), шириной wid h пикселей и высотой heigh пикселей drawOval(i x, i у, i wid h, i heigh ) чертит овал, вписанный в прямоугольник, заданный аргументами метода.
С помощью этих типов, используя "только Java", можно строить приложения, предлагающие сложный интерфейс пользователя, обеспечивающие связь с базами данных, обмен сообщениями или работу клиента в Web. Хотя Java очень элегантный язык, его потенциальной проблемой является то, что использование Java в цикле разработки обычно означает необходимость использования Java и для взаимодействия клиента с сервером. Как следствие, Java не позволяет возлагать большой надежды на возможности языковой интеграции, так как это идет вразрез с декларируемой целью Java (единый язык программирования для всех задач). Реальность, однако, такова, что в мире существуют миллионы строк программного кода, которым бы идеально подошло взаимодействие с более новым программным кодом. К сожалению, Java делает эту задачу проблематичной. Java в чистом виде просто не подходит для многих приложений, интенсивно использующих графику или сложные вычисления (в этих случаях скорость работы Java оставляет желать лучшего). Для таких программ в соответствующем месте выгоднее использовать язык более низкого уровня (например, C++)
2. NGIO (система ввода-вывода нового поколения)
3. Аппаратно-программные средства ввода/вывода аналоговой информации в системах реального времени
4. Деловой язык и культура речи юриста - тема "Разработка стратегии общения"
5. Деловой язык и культура речи юриста - тема "Разработка стратегии общения"
9. Применение рекурсии в алгоритмах с возвратом. Файловый тип. Ввод/вывод
10. Адресное пространство. Подсистемы ввода-вывода
11. Проектирование автоматического интерфейса ввода-вывода
12. Устройства ввода-вывода информации
13. Вывод на экран текущего каталога в графическом режиме (со скроллингом)
14. Разработка подсистемы вывода в диагностической экспертной системе
15. Разработка Web–приложений с применением Java Servlet-технологии
16. Разработка приложения на Java
17. Разработка алгоритмов контроля и диагностики системы управления ориентацией космического аппарата
18. Расчет показателей разработки элемента трехрядной системы
19. Разработка верхнего уровня Информационной Системы Университета
20. Разработка информационно-справочной системы "Сводка погоды" /Prolog/
21. Разработка информационно-справочной системы "Картотека ГАИ" /Prolog/
25. Разработка фрагмента информационной системы "АБОНЕНТЫ ГТС"
26. Разработка системы управления работой коммерческой компании
27. Разработка автоматизированной системы учета выбывших из стационара
29. Разработка информационно-справочной системы
30. Разработка информационно-справочной системы
32. Разработка автоматизированной информационной системы учёта товародвижения в торговле
33. Java и MySQL
34. Учебник по программированию на Java для мобильных устройств
36. Разработка системы реального времени в виде планировщика исполнения заданий
37. Разработка системы рейтинг-контроля уровня усвоения знаний студентов
42. Автоматизированные Банковские Системы (АБС). Разработка системы "Обменный пункт"
43. Реферат по информационным системам управления
44. Разработка системы менеджмента в организации
45. Разработка мер по выводу предприятия из кризисного финансового состояния
46. Разработка автоматизированной информационной системы для управления портфелем реальных инвестиций
47. Реферат по теме “Человек на войне”
48. Разработка системы продвижения турпродукта региона на рынки страны и зарубеж
49. Разработка формальной системы
50. Методическая разработка для студентов по теме: "Аппендицит"
51. Разработка системы управления качеством на предприятии
57. Разработка системы телемеханики
58. Разработка стратегических и оперативных мер по выводу предприятия из кризиса
61. Разработка системы управления охраной труда в организации
63. Разработка системы по сбору информации
64. Разработка оболочки экспертной системы
66. Java: Средства построения отчётов для Java-приложений
68. Разработка информационной системы «Служба занятости»
69. Небезопасная безопасная JAVA
76. Разработка системы управленческого учета в организациях оптовой торговли
77. Геохронологическая шкала. Непско-Ботуобинская нефтегазовая область. Системы разработки с заводнением
78. Реализация когнитивных стратегий ввода темы дискурса в подборке научно-популярных статей
80. Информатика. Устройства ввода и вывода. Периферийные устройства
81. Исследование и разработка проекта информационной системы отдела бухгалтерии АОЗТ "Швея"
82. Основные структуры языка Java
83. Программирование на языке Java Script
84. Проектирование и разработка информационной системы на примере магазина "Computer Master"
85. Разработка автоматизированной информационной системы
89. Разработка автоматизированной системы управления торговым предприятием
90. Разработка алгоритма и программы для вычисления коэффициента оперативной готовности системы
91. Разработка анимационно-обучающей программы механической системы
92. Разработка имитационной модели системы массового обслуживания
94. Разработка информационного системы учета товаров магазина по продаже сувениров
96. Разработка информационной системы учета товаров на оптовом складе
97. Разработка многопользовательской информационной системы
99. Разработка модели информационной системы предприятия ОАО "Токаревский комбинат хлебопродуктов"