Java99: Архитектура и интерфейсы
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: зимнее сочинение, реферат на тему образование
| Добавил(а) на сайт: Kallistrat.
Предыдущая страница реферата | 1 2 3 | Следующая страница реферата
Многие из этих новых компонентов можно найти в галерее по адресу: http://java.sun.com/products/jfc/swingdoc-current/comp_gal.html. Также, можно посмотреть программу SwingSet, чтобы увидеть компоненты Swing в действии.
Компоненты Swing являются 100% Java-компонентами. Это означает, что
они не зависят от конкретных реализаций интерфейсных элементов на той или
иной платформе. Это также означает, что эти компоненты доступны на всех
платформах, где есть поддержка Java 2. Компоненты Swing реализованы как
расширение AWT, но не используют компонентов AWT. На самом деле, многие
традиционные компоненты AWT – кнопки, списки, диалоговые панели, были
переделаны в компоненты Swing Благодаря этому, компоненты AWT стали более
доступными на различных платформах и теперь предоставляют дополнительные
возможности, отсутствующие в некоторых графических средах. На следующей
диаграмме показано взаимодействие Swing и AWT.
[pic]
Одно из наиболее интересных свойств библиотеки Swing – это возможность
изменения внешнего вида компонентов и интерфейсов - Pluggable Look and Feel
(PL&F). Архитектура PL&F позволяет настраивать внешний вид и поведение как
одного компонента, так и группы компонентов. Также в состав Swing входит
ряд предопределенных настроек - Metal L&F, Motif L&F, Windows L&F.
Существуют настройки по умолчанию для Macintosh и других платформ.
Как я отметил выше, компоненты Swing играют важную роль при создании
графических интерфейсов программ. В следующей таблице приведены краткие
описания этих компонентов.
| Компонент |Описание |
|Box |Контейнер общего назначения для организации |
| |вложенных компонентов используя модель BoxLayout. |
|Japplet |Подкласс класса Applet содержащий JRootPane для |
| |того, чтобы добавить к приложению различные |
| |интерфейсные элементы типа меню |
|Jbutton |Кнопка, которая может содержать либо текст, либо |
| |графическое изображение, либо и то и другое |
|JcheckBox |Кнопка с независимой фиксацией |
|JcheckBoxMenuItem |Кнопка с независимой фиксацией для использования в |
| |меню |
|JcolorChooser |Компонент для выбора цвета в одной из цветовых схем.|
| |Используется совместно с javax.swing.colorchooser |
|JcomboBox |Комбинированый список – строка ввода и выпадающий |
| |список. Пользователь может вводить текст или |
| |выбирать элемент из списка. |
|Jcomponent |Корневой элемент иерархии библиотеки компонентов |
| |Swing. Добавляет специфические свойства типа |
| |подсказок и поддержки двойной буферизации |
|JdesktopPane |Контейнер для компонентов JInternalFrame имитирующий|
| |работу desktop в одном окне. Поддерживает |
| |многооконный интерфейс (MDI) |
|Jdialog |Контейнер для отображения диалоговых панелей |
|JeditorPane |Текстовый редактор с богатыми возможностяим, |
| |управление свойствами которого возможно через объект|
| |EditorKit. По умолчанию может отобрать и |
| |редактировать текст в формате HTML и RTF |
|JfileChooser |Компонент для выбора файла или каталога. |
| |Поддерживается фильтрация и возможность |
| |предварительного просмотра содержимого файла. |
| |Используется совместно с javax.swing.filechooser |
|Jframe |Контейнер для окон верхнего уровня |
|JinternalFrame |Контейнер для вложенных окон. Схож с JFrame и |
| |отображает заголовок окна. В то же время не является|
| |независимым окном и отображается внутри |
| |родительского контейнера. Часто используется вместе |
| |с JDesktopPane. |
|Jlabel |Компонент для отображения текста, графического |
| |изображения или того и другого |
|JlayeredPane |Контейнер, позволяющий дочерним объектам перекрывать|
| |друг друга. Управляет порядком наложения дочерних |
| |объектов двуг на друга |
|Jlist |Компонент для отображения списка с возможностью |
| |выбора. Элементами списка могут быть строки, |
| |графические изображения или другие объекты |
|Jmenu |Выпадающее меню в JMenuBar или подменю внутри |
| |другого меню |
|JmenuBar |Компонент, отображающий набор выпадающих меню. |
|JmenuItem |Один элемент меню |
|JoptionPane |Компонент, использующийся для отображения простых |
| |диалоговых панелей внутри контейнера JDialog. Задает|
| |набор статических методов для стандартных диалоговых|
| |панелей |
|Jpanel |Контейнер для группировки компонентов в |
| |соответствующем LayoutManager. |
|JpasswordField |Поле ввода данных, в котором вводимый текст не |
| |отображается |
|JpopupMenu |Окно, в котором отображается всплывающее меню. |
| |Используется JMenu или для создания отдельных |
| |всплывающих меню |
|JprogressBar |Компонент, который показывает процесс выполнения |
| |длительной операции |
|JradioButton |Кнопка с зависимой фиксацией |
|JradioButtonMenuItem|Кнопка с зависимой фиксацией для использования в |
| |меню |
|JrootPane |Комплексный контейнер, используемый JApplet, |
| |JDialog, JFrame и JInternalFrame. |
|JScrollBar |Горизонтальная или вертикальная полоса прокрутки |
|JScrollPane |Контейнер, позволяющий дочерним компонентам |
| |прокручиваться вертикально или горизонтально. |
| |Обеспечивает поддержку фиксированных областей. |
|Jseparator |Компонент для отрисовки горизонтальных и |
| |вертикальных разделителей. |
|Jslider |Компонент для наглядного ввода цифровых значений |
|JSplitPane |Контейнер, в котором отображаются два дочерних |
| |объекта, размер которых можно изменять |
|JtabbedPane |Контейнер, реализующий панель с закладками |
|Jtable |Компонент для отображения таблиц с возможностью |
| |редактирования их содержимого. Может отображать как |
| |строчные данные, так и любой другой тип данных. |
| |Обычно используется совместно с javax.swing.table |
|JtextArea |Компонент для отображения и редактирования |
| |многострочного текста. Основан на компоненте |
| |JTextComponent. |
|JtextComponent |Компонент для реализации компонентов для отображения|
| |и редактирования текста. Является частью |
| |javax.swing.text |
|JtextField |Компонент для отображения, ввода и редактирования |
| |одной строки текста. Основан на компоненте |
| |JTextComponent. |
|JtextPane |Подкласс JEditorPane для отображения и |
| |редактирования отформатированного текста, который не|
| |является текстом в формате HTML или RTF |
|JtoggleButton |Родительский компонент для JCheckBox и JRadioButton.|
|JtoolBar |Компонент для отображения панели инструментов |
|JtoolTip |Окно для отображения подсказок или другой |
| |пояснительной инфомации |
|Jtree |Компонент для отображения древрвидной структуры |
| |данных. Помимо строчных данных может отображать |
| |любые другие. Используется совместно с |
| |javax.swing.tree |
|Jviewport |Контейнер для отображения какой-лиюбо части |
| |дочернего объекта. Обычно используется совместно с |
| |JScrollPane. |
|Jwindow |Окно, но без заголовка, полос прокрутки и других |
| |элементов. |
С помощью Java 2D можно разрабатывать графические приложения. Этот
программный интерфейс обеспечивает поддержку двумерной графики, обработку
графических изображений, рендеринг, управление цветами и работу с
устройствами печати. Интерфейс Java 2D состоит из модели, которая
поддерживает отрисовку линий, графических изображений, преобразования
цветов, составление графики. Модель является аппаратно-независимой.
Интерфейс Java 2D реализован в пакетах java.awt и java.awt.image.
Drag and Drop
В Java 2 введена поддержка операций Drag and Drop, с помощью которых
можно перетаскивать различные объекты. Интерфейс Drag and Drop в JDK 1.2
обеспечивает платформенно-независимую поддержку этих операций для Java-
приложений, причем можно осуществлять перетаскивание объектов как между
Java-программамиЮ так и между Java-программами и программами, "родными" для
конкретной платформы. Интерфейс Drag and Drop реализован в пакете
java.awt.dnd и поддерживается классами и интерфейсами других пакетов JFC.
Accessibility
Для пользователей с различными физическими недостатками в JDK 1.2
введен ряд интерфейсов, облегчающих создание сотоветствующих программных
средств. Интерфейс Accessibility в JDK 1.2 реализован в пакете
java.awt.accessibility.
Апплеты
При обзоре платформы Java нельзя не упомянуть апплеты – мини- приложения, загружаемые из сети и выполняемые в Web-браузере. Так как аплеты загружаются из сети, они обычно содержат "непроверенный" код, что накладывает опрделенные требования к проверке их надежности. Апплеты сыграли большую роль в популяризации платформы Java и практически не изменились со времен Java 1.0. В Java 2 появился Swing-класс JApplet и новая, более гибкая модель защиты.
Базовый класс Applet и Swing-класс JApplet являются GUI-контейнерами, которые могут содержать другие GUI-компоненты и контейнеры. Но не эти
свойства определяют основные характеристики апплетов. Наиболее важными
здесь являются возможность работы в сети, динамическая загрузка и
выполнение и развитые средства защиты.
JavaBeans
Компоненты JavaBeans. впервые появились в Java 1.1. В Java 2
реализованы некоторые расширения компонентной модели JavaBeans. Компонент
JavaBeans – это Java-объект, интерфейс которого поддерживает некоторые
соглашения. Так, компонентами можно управлять из средств разработки, из
скриптовых языков и т.п. В некоторых случаях целые приложения могут быть
динамически собраны из группы независимых, но взаимодействующих друг с
другом компонентов. Компоненты JavaBeans часто, но необязательно, являются
GUI-компонентами. Все GUI-компоненты платформы Java следуют соглашениям
компонентов JavaBeans и могут использоваться в контексте JavaBeans. Такими
компонентами могут быть и простая кнопка, и сложный полнофункциональный
текстовый процессор.
В Java 2 появилось понятие контекста компонента, - контейнера, который
может содержать в себе компоненты и другие контейнеры. Такой контейнер
может обеспечивать набор сервисов, например, возможность работы с
устройством печати, для всех вложенных компонентов. Фактически, контекст
контейнера является расширением модели апплетов – в платформе Java 2
реализована поддержка создания объектов, которые могут выступать и как
компоненты, и как апплеты.
Java Media Framework
Java Media Framework (JMF) – это стандартное расширение платформы Java
2. JMF задает библиотеку классов для работы со звуком и видео. В дополнение
к возможностям воспроизведения аудиоданных и отображения видеоданных, закодированных в различных форматах, JMF включает средства для обработки, контроля и синхронизации потоков мультимедийных данных. Java Media
Framework может работать как с файлами, хранимыми на локальных дисках, так
и упакованными потоковыми данными, передаваемыми в реальном времени по
сети.
Java Media Framework реализовано полностью на языке Java и может работать на любой платформе, поддерживающей язык Java. В дополнение к этому, существуют платформенно-зависимые расширения в коде для той или иной платформы, с помощью которых можно существенно повысить производительность создаваемых приложений и обеспечить поддержку специфичных для данной платформы форматов данных.
В следующих версиях JMF будут реализованы средства записи
мультимедийных данных и поддержки конференций.
Поддержка звука
В первых двух версиях Java (1.0 и 1.1) были лишь рудиментарные функции для поддержки звука – можно было воспроизводить только звук, закодированный в формате AU фирмы Sun. Соответствующие интерфейсы были доступны только для апплетов. Платформа Java 2 содержит новое ядро для воспроизведения звуковых файлов в наиболее популярных форматах, а программные интерфейсы могут использоваться в любом Java-коде, не только в апплетах, как это было раньше.
Для поддержки звука в состав Java 2 включен интерфейс Java Sound, обеспечивающий полный контроль над аудиоданными.
Разработка корпоративных приложений
Большинство новинок в платформе Java 2 – это новинки в графических
интерфейсах и поддержке графических функций. Но наиболее важными, со
стратегической точки зрения, несомненно, являются программные интерфейсы
Java Enterprise. Эти интерфейсы позволяют использовать Java для создания
корпоративных приложений, которые обладают средствами масштабирования, могут работать в сетевых средах и обладают поддержкой работы с уже
существующими приложениями.
Некоторые из этих интерфейсов существовали в Java 1.1, часть из них
являются новыми для Java 2. Ряд интерфейсов является базовым для платформы
Java 2, остальные – это дополнения и расширения. Тем не менее именно
платформа Java 2.является первой, где полностью реализованы интерфейсы Java
Enterprise, и которая служит в качестве основы для создания корпоративных
приложений.
Ниже мы кратко рассмотрим основные интерфейсы Java Enterprise (более
подробно мы поговорим об этих интерфейсах в одной из следующих статей
данного цикла). К ним относятся:
. JDBC - доступ к базам данных
. RMI - поддержка распределенных объектов
. Распределенные объекты и CORBA
. JNDI - Сервисы имен и каталогов
. JavaMail - электронная почта
. Enterprise JavaBeans
. Сервлеты
Доступ к базам данных
Интерфейс Java Database Connectivity (JDBC) позволяет Java-программам
посылать SQL-запросы и обновлять данные на серверах баз данных, а также
обрабатывать полученные с сервера результаты. JDBC также позволяет получать
метаинформацию о базе данных и ее таблицах с сервера баз данных.
Архитектура JDBC основывается на классе Driver, который "скрывает" все
детали общения с конкретным сервером баз данных. Каждый конкретный сервер
требует наличия соответствующего класса Driver, с которым взаимодействуют
Java-программы. Большинство производителей баз данных поставляют JDBC-
драйверы со своими продуктами. Помимо этого, существуют специальные
драйверы для взаимодействия с базами через соответствующие ODBC-драйверы.
На следующей диаграмме показаны два возможных варианта создания JDBC-
приложений - с использованием только JDBC-драйверов и с использованием
JDBC/ODBC-драйверов.
[pic]
Интерфейс JDBC реализован в пакете java.sql, который впервые появился
в Java 1.1. В платформе Java 2 появился ряд новых классов, реализующих
дополнительную функциональность. Также в Java 2 включен пакет javax.sql, позволяющий, например, рассматривать результаты запроса к базам данных как
JavaBeans, выполнять пулинг связей с базами и получать информацию о связях
с базами через сервисы имен.
Интерфейс JDBC является простым и хорошо продуманным. Программисты, знакомые с SQL и основами программного взаимодействия с базами данных, смогут легко воспользоваться функциями JDBC в Java-программах.
Поддержка распределенных объектов
Распределенные объекты обеспечивают мощную модель для создания
объектно-ориентированных сетевых приложений, интерес к которым в последние
годы неуклонно растет. В данной модели клиентская часть должна иметь
возможность вызывать методы объектов, расположенных на удаленных серверах
так, как если бы эти объекты располагались локально. Данная модель может
быть реализована несколькими способами. Одним из них является Java Remote
Method Invocation (RMI). Соответствующие програмные интерфейсы реализованы
в пакете java.rmi, который впервые появился в Java 1.1 и был расширен в
Java 2.
Распределенные объекты и CORBA
Java Remote Method Invocation – это решение для создания распределенных систем, которое работает для клиентских и серверных приложений, написанных на языке Java. Но оно не подходит для гетерогенных сред, где клиенты и серверы написаны на различных языках. Для таких сред в платформе Java 2 реализована поддержка CORBA.
CORBA (Common Object Request Broker Architecture) – это стандарт, созданный Object Management Group (OMG). Данный стандарт реализован как
базовая составляющая платформы Java 2 в пакете org.omg.CORBA и других
подпакетах. Реализация включает Object Request Broker (ORB), который Java-
приложения могут использовать для общения с другими брокерами и другими
CORBA-объектами.
Рекомендуем скачать другие рефераты по теме: цель реферата, ответы по контрольной.
Категории:
Предыдущая страница реферата | 1 2 3 | Следующая страница реферата