Назад
Вперед
2.8. Приложение со своей библиотекой классов
Приложение демонстрирует способ создания
своей библиотеки классов package.
Исходный текст аплета
Исходный текст библиотеки
Архив проекта аплета для Java WorkShop 2.0
Архив проекта библиотеки для Java
WorkShop 2.0
Демонстрация
(ваш браузер должен уметь работать с аплетами
Java)
Немного теории
Библиотека классов или пакет (package)
используется в приложениях Java для решения
проблемы конфликта имен классов, интерфейсов и
методов. Обычно они объединяют классы сходного
назначения. Все стандартные библиотеки классов
Java разработаны как пакеты и поставляются в
исходных текстах вместе с JDK и Sun Java WorkShop.
Вы можете создать свою библиотеку классов,
разместив в первой строке исходного текста
оператор package:
package some.pack.name;
Здесь после оператора package располагается имя
библиотеки. Обычно оно состоит из нескольких
строк, разделенных точкой. Для исключения
конфликта имен вы можете добавлять к имени
библиотеки префикс, например, доменный адрес
сервера Web вашей фирмы или просто название фирмы.
В результате компиляции проекта библиотеки
классов получается файл с расширением имени class.
Его необходимо разместить в каталоге, где
находятся все локальные библиотеки классов Java.
Этот каталог определяется переменной среды с
именем CLASSPATH.
Для использования классов и интерфейсов,
определенных в библиотеке, вы должны включить в
исходный текст приложения оператор import,
например:
import some.pack.name.*;
В данном случае импортируются все классы и
интерфейсы, определенные в библиотеке some.pack.name.
Заметим, что вне библиотеки возможно
использование только таких классов и
интерфейсов, которые определены как public.
Описание примера
В качестве основы для нашего примера мы взяли
аплет, описанный в разделе "2.6.
Аплет с окном Frame". В исходном тексте этого
аплета наряду с главным классом определен класс
FrameWindow, отвечающий за работу окна с названием Frame
Window.
Пример состоит из двух проектов, один из
которых является проектом аплета, а другой -
проектом библиотеки, состоящей из одного класса
FrameWindow.
Проект аплета
Исходный текст аплета содержит только
определение класса PackDemo. Что же касается класса
FrameWindow, то он импортируется наряду со
стандартными классами, как это показано ниже:
import java.applet.Applet;
import java.awt.*;
import frolov.test.frame.FrameWindow;
В последней строке приведенного выше фрагмента
кода мы импортируем класс FrameWindow
типа public, расположенный в созданной нами
библиотеке классов frolov.test.frame.
Описание исходного текста класса PackDemo мы здесь
не приводим, так как этот класс полностью
повторяет класс AppletFrame из раздела
"2.6. Аплет с окном Frame".
Проект библиотеки
В начале файла исходного текста класса FrameWindow
мы определили название библиотеки, указав его в
операторе package до операторов import:
package frolov.test.frame;
import java.applet.Applet;
import java.awt.*;
Таким образом мы объявили, что в результате
компиляции исходного текста должна получиться
библиотека классов.
Обращаем ваше внимание на несколько важных
моментов, которые следует учитывать при создании
собственных библиотек классов.
- Чтобы приложение могло использовать класс,
определенный в библиотеке, этот класс должен
быть объявлен как public
В нашем примере таким является класс FrameWindow:
public class FrameWindow extends Frame
{
. . .
}
- Если в исходном тексте определен класс public, то
имя файла исходного текста должно совпадать с
именем этого класса
Наш класс называется FrameWindow, поэтому его
исходный текст расположен в файле FrameWindow.java.
- Имя проекта Java WorkShop также должно совпадать с
именем класса public
- Подготавливая проект библиотеки классов в Java
WorkShop, вы должны указать тип проекта как Package и
задать путь к каталогу, куда Java WorkShop запишет
CLASS-файл библиотеки
На рис. 1 мы показали страницу General блокнота
параметров проекта библиотеки классов.
|
Рис. 1. Страница General
блокнота параметров проекта Для того чтобы
увидеть рисунок в увеличенном виде, сделайте
щелчок мышью по изображению |
Здесь указано имя проекта FrameWindow и имя
библиотеки frolov.test.frame. Тип проекта определяет
переключатель Package, находящийся во включенном
состоянии.
На рис. 2 показана страница Build этого же
блокнота.
|
Рис. 2. Страница Build
блокнота параметров проекта Для того чтобы
увидеть рисунок в увеличенном виде, сделайте
щелчок мышью по изображению |
Обратите внимание на поле Root directory of class hierarchy.
Здесь указан полный путь к каталогу, в который
будет записана библиотека.
Так как наша библиотека называется frolov.test.frame,
то в каталоге pkg, заданном на рис. 2, будет создано
дерево каталогов:
frolov-+
-> test-+
-> frame
Файл FrameWindow.class таким образом окажется в
следующем каталоге:
f:\jws\FrameWindow\pkg\frolov\test\frame
Назад Вперед |