Java: архитектура и интерфейсыРефераты >> Программирование и компьютеры >> Java: архитектура и интерфейсы
RMI-утилиты
Утилиты, относящиеся к этой категории, используются для создания приложений, взаимодействующих между собой по Internet или другим типам сетей. К таким утилитам относятся:
rmic |
Утилита для генерации заглушек и скелетов для удаленных объектов |
rmiregistry |
Утилита для регистрации удаленных объектов |
rmid |
Средство системной активации RMI |
serialver |
Возвращает serialVersionUID.для данного класса |
Средства для локализации приложений
К средствам для локализации приложений относится утилита native2ascii, выполняющая преобразование текста в Unicode Latin-1.
Средства для защиты приложений
Утилиты, относящиеся к этой категории, используются для задания уровней защиты и создания приложений, который работают на удаленных узлах. К таким утилитам относятся:
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 |
Окно, но без заголовка, полос прокрутки и других элементов. |