Реферат: Архитектура и интерфейсы Java

Утилиты, относящиеся к этой категории, используются для задания уровней защиты и создания приложений, который работают на удаленных узлах. К таким утилитам относятся:

keytool Средство для управления сертификатами
jarsigner Утилита для генерации и проверки цифровых подписей в JAR-файлах
policytool Графическое средство для управления файлами доступа

IDL-утилиты

Утилиты, относящиеся к этой категории, используются при создании приложений, использующих CORBA для доступа к базам данных. К таким утилитам относятся:

tnameserv Обеспечивает доступ к сервисам имен (naming service)
Idltojava Создает java-файлы для интерфейсов OMG IDL и позволяет приложениям, написанным на языке Java, использовать функциональность CORBA

Набор Java-библиотек и базовых классов

Ядром Java 2 является библиотека классов Java Foundation Classes (JFC) версии 1.1, предназначенная для создания графических интерфейсов Java-приложений. В ее состав входят собственно библиотека JFC версии 1.1 (которая была доступна для JDK 1.1 с февраля прошлого года) и следующие интерфейсы:

Abstract Windowing Toolkit (AWT)

Swing

Java 2D

Drag and Drop

Accessibility

Архитектура Java Foundation Classes показана на следующей диаграмме.

Abstract Windowing Toolkit позволяет создавать программы с графическими интерфейсами, независящими от конкретной платформы. Более того, программный интерфейс AWT намного проще и понятнее программных интерфейсов Windows, Motif или OS/2. В JDK 1.2 было добавлено много новых классов и интерфейсов, включая поддержку функций рисования, вывода на принтер, обработки изображений и поддержки Drag and Drop и Java 2D.

Многие из этих новых компонентов можно найти в галерее по адресу: 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.

Одно из наиболее интересных свойств библиотеки 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 реализована поддержка создания объектов, которые могут выступать и как компоненты, и как апплеты.

К-во Просмотров: 225
Бесплатно скачать Реферат: Архитектура и интерфейсы Java