Проект — это набор файлов, из которых состоит приложение. В Visual J + + проекты базируются
на каталогах, т. е. индивидуальный проект определяется файлами в структуре его
каталогов на жестком диске. В Visual J++ имеется несколько шаблонов кода, помогающих
создавать проект. Шаблон — заготовка Java-класса, предоставляющая базовый каркас
кода. Используя такие шаблоны, Вы можете создавать следующие типы проектов.
Кроме того,
Вы можете создавать пустые проекты без всяких шаблонов кода.
Проект Visual
J + + сопоставляется с VJP-файлом, в котором хранятся некоторые параметры проекта.
Далее каждый проект включается в решение
(solution). Последнее состоит из одного или нескольких проектов; его идентифицирует
SLN-файл. О включении в решение нескольких проектов см. раздел «Создание
многопроектного решения» далее в этой главе. Помимо создания новых проектов
Вы можете:
Проекты
как структуры каталогов
В Visual
J++ проекты базируются на каталогах, т. е. индивидуальный проект определяется
файлами в структуре его каталогов на жестком диске. Например:
Примечание
Исключая файл или папку из проекта, Вы можете оставить этот элемент
на жестком диске либо полностью удалить его.
Подробнее
о проектах, построенных как структуры каталогов, см. раздел «Different
Project Models in Source Code Control» электронной документации Visual
Studio.
Помимо того,
что структура проекта связана с файловой системой, иерархия Java-пакетов в проекте
прямо соответствует иерархии папок в проекте (или каталогов в файловой системе).
Project Explorer предусматривает два режима просмотра структуры проектов: Directory
View (каталоги) и Package View (пакеты).
Подробнее
об установке режимов просмотра в окне Project Explorer см. раздел
«Выбор режима просмотра проекта» далее в этой главе.
Создание
Windows-приложения с применением WFC
WFC позволяет
создавать Windows-приложения на языке программирования Java. Кроме того, чтобы
ускорить вставку на форму элементов управления, настройку их свойств и добавление
обработчиков событий, Вы можете использовать RAD-функции Forms Designer.
Примечание
Прежде чем создавать Windows-приложение по следующей процедуре, закройте любые
открытые в данный момент проекты. (Для этого выберите из меню File команду
Close All.)
Чтобы
создать Windows-приложение с применением WFC:
Примечание
Переименование этого файла в Project Explorer не приводит к переименованию
соответствующего класса в исход- / ном коде, и наоборот. Вам придется вручную
модифицировать все экземпляры старого имени. (Обратите внимание, что Вы можете
создать пустой проект и только после этого добавить форму как шаблон Form. Тогда
Вам удастся присвоить имя форме еще до ее создания.)
Когда Вы
используете шаблон Windows Application, Ваш Java-класс расширяет com.ms.wfc.ui.Form.
Чтобы просмотреть исходный код в текстовом редакторе, щелкните правой кнопкой
мыши Forml.java в окне Project Explorer и выберите из контекстного меню
команду View Code. Выполнение программы начинается с метода main. Код
в методе initForm отражает изменения, внесенные Вами в Forms Designer.
Модификация
формы в Forms Designer
Следующие
процедуры показывают, как добавлять элементы управления на форму в Forms Designer.
В данном примере каждый щелчок кнопки добавляет в окно списка один элемент.
Чтобы
добавить элементы управления на форму:
Чтобы
установить свойство элемента управления:
Чтобы
добавить обработчик события:
Подробнее
о модификации кода в среде программирования см. главу 3 «Редактирование
кода».
Если Вы используете
шаблон Windows Application, то при сборке проекта автоматически создается файл
ИмяПроекта.ехе.
Чтобы
собрать и запустить приложение:
Подробнее
об использовании Forms Designer и создании WFC-приложений см. главу 2 «Разработка
форм» и главу 11 «Введение в программирование на базе WFC».
Создание
Windows-приложения с помощью Application Wizard
Application
Wizard автоматически генерирует Windows-приложение на базе WFC и дает возможность
связать его форму с полями базы данных. Кроме того, он позволяет задать параметры
упаковки проекта.
Примечание
Прежде чем запускать Application Wizard, закройте любые открытые в данный момент
проекты. (Для этого выберите из меню File команду Close All.)
Чтобы
создать Windows-приложение с помощью Application Wizard:
После сборки
приложения Вы можете запустить его из среды программирования.
Чтобы
собрать и запустить приложение:
Более подробную
информацию о создании Windows-приложений и простой пример, иллюстрирующий, как
модифицировать форму в Forms Designer, см. в разделе «Создание Windows-приложения
с применением WFC» ранее в этой главе.
Создание
приложения Dynamic HTML
WFC заключает
в себе модель объектов Dynamic HTML (DHTML), реализованную в Internet Explorer
4.0. Когда Вы создаете DHTML-приложение по шаблону Code-Behind HTML, Ваш Java-класс
расширяет com.ms.wfc.html.DhDocument и включается на HTML-страницу как СОМ-объект.
Используя другие классы из пакета com.ms.wfc.html, Вы можете манипулировать
элементами на HTML-странице.
Примечание
Прежде чем создавать DHTML-приложение по следующей процедуре, закройте
любые открытые в данный момент проекты. (Для этого выберите из меню File
команду Close All.)
Чтобы
создать DHTML-приложение:
Примечание
Переименование файла Classl.java не приводит к переименованию соответствующего
класса в исходном коде, и наоборот. Вам придется вручную модифицировать все
экземпляры старого имени. (Обратите внимание, что Вы можете создать пустой проект
и только после этого добавить класс как шаблон Class. Тогда Вам удастся присвоить
имя классу еще до его создания. Но в шаблоне Class нет базового каркаса кода
для DHTML-класса.)
Просмотр
кода в текстовом редакторе
Шаблон Code-Behind
HTML уже обеспечивает определенную функциональность, и Вы можете просмотреть
предлагаемый код в текстовом редакторе.
Чтобы
просмотреть образец кода в DHTML-классе:
Метод in it Form инициализирует
Ваш код, в том числе связывает элементы Вашего класса с элементами, существующими
на HTML-странице, а также создает новые. В данной реализации DhText-объект
boundText связывается с элементом, существующим на странице Pagel.htm (<SPAN
id=bindText>Bound Text</SPAN>). Для этого сначала вызывается boundText.setID("bindText"),
затем— setBoundElements. Кроме того, новый DhText-объект добавляется в документ
методом setNewElements.
О модификации кода
в среде программирования см. главу 3 «Редактирование кода».
Сборка
и запуск DHTML-приложения
Поскольку
Classl должен быть включен на HTML-страницу как СОМ-объект, проект следует упаковать
в САВ-файл. Если Вы используете шаблон Code-Behind HTML, такой файл (ИмяПроекта.cab)
создается при сборке автоматически.
После сборки
проекта Вы можете запустить связанную с ним -HTML-страницу из среды программирования
или просто открыть эту страницу в браузере.
Чтобы
собрать и запустить DHTML-приложение:
Подробнее об использовании
DHTML см. главу 14 «Программирование
Dynamic HTML в Java».
Когда Java-класс
упаковывается в COM DLL, с ним может работать любое приложение, поддерживающее
СОМ. Все открытые (public) методы, определенные в Вашем классе, доступны через
СОМ-интерфейс.
Примечание
Прежде чем создавать COM DLL по следующей процедуре, закройте любые открытые
в данный момент проекты. (Для этого выберите из меню File команду Close All.)
Чтобы
создать COM DLL:
Примечание
Переименование файла Classl.java не приводит к переименованию соответствующего
класса в исходном коде, и наоборот. Вам придется вручную модифицировать все
экземпляры старого имени. (Обратите внимание, что Вы можете создать пустой проект
и только после этого добавить класс как шаблон Class. Тогда Вам удастся присвоить
имя классу еще до его создания. Но в шаблоне Class нет базового каркаса кода
для COM DLL.)
Добавление
кода в текстовом редакторе
Для просмотра
сгенерированного исходного кода дважды щелкните строку Classl.java в
окне Project Explorer. Директива @com. register определяет GUID Вашего класса.
Вы можете ввести в свой класс и метод onCOMRegister, который автоматически вызывается
при регистрации DLL; это позволит выполнять дополнительные операции при регистрации
DLL — например, создать разделы в реестре, нужные Вашей библиотеке.
Следующая
процедура показывает, как добавить конструктор и создать метод, который выводит
на экран окно с сообщением.
Чтобы
добавить код в Ваш класс:
public Class1()
{
}
public void showDialog()
{
com.ms.wfc.ui.MessageBox.show("Hello,
World!", "COM");
}
Подробнее
о модификации кода в среде программирования см. главу 3 «Редактирование
кода».
При сборке
проекта COM DLL на Вашем компьютере автоматически создаются и регистрируются
два файла: DLL (ИмяПроекта.dll) и библиотека типов (ИмяПроекта.tlb).
Чтобы
собрать DLL:
После регистрации
с DLL могут работать любые приложения, которые поддерживают СОМ. Следующая процедура
показывает, как импортировать DLL в другой проект Visual J+ + . В этом примере
создается WFC-форма и при каждом щелчке формы вызывается метод showDialog.
Чтобы
создать WFC-приложение:
Чтобы
импортировать DLL:
DLL импортируется
в новый проект как вложенная папка с двумя JAVA-файлами: Classl.java и Classl_Dispatch.java.
Classl реализует интерфейс Classl_Dispatch, который предоставляет открытые методы
объекта Classl в DLL. Чтобы получить доступ к этим методам, создайте экземпляр
объекта Classl через объект Classl_Dispatch. Эту операцию демонстрирует следующая
процедура.
Чтобы
модифицировать WFC-форму:
Чтобы
собрать и запустить WFC-приложение:
Подробнее
о создании СОМ-объектов см. главу 17 «Сборка и импорт СОМ-объектов».
Подробнее о WFC-приложениях см. раздел «Создание Windows-приложения с
применением WFC» ранее в этой главе.
Используя
WFC, можно создавать собственные элементы управления. Такой элемент управления
расширяет com.ms.wfc.ui.UserControl, а тот в свою очередь — com.ms.wfc.ui.Form;
это позволяет создавать пользовательский интерфейс элемента управления в Forms
Designer.
Примечание
Прежде чем создавать элемент управления по следующей процедуре, закройте любые
открытые в данный момент проекты. (Для этого выберите из меню File команду
Close All.)
Чтобы
создать элемент управления:
Примечание
Переименование файла Controll.java не приводит к переименованию соответствующего
класса в исходном коде, и наоборот. Вам придется вручную модифицировать все
экземпляры старого имени. (Обратите внимание, что Вы можете создать пустой проект
и только после этого добавить класс элемента управления как шаблон Control.
Тогда Вам удастся присвоить имя элементу управления еще до его создания.)
Просмотр
кода в текстовом редакторе
Для просмотра
сгенерированного исходного кода щелкните правой кнопкой мыши Controll.java
в окне Project Explorer и выберите из контекстного
меню команду View Code. Код в методе initForm отражает изменения, внесенные
Вами в Forms Designer. Вложенный класс Classlnfo определяет свойства и события
Вашего элемента управления. (Для модификации Classlnfo можно использовать WFC
Component Builder.) Обратите внимание, что комментарии Javadoc в классе Controll
поясняют, как предоставить Ваш класс внешним программам в качестве ActiveX-элемента.
Подробнее см. раздел «Определение СОМ-классов» далее в этой главе.
Модификация
элемента управления в Forms Designer
Следующие
процедуры показывают, как использовать существующие WFC-элементы при разработке
собственного элемента управления. В этом примере к элементу управления добавляются
текстовое поле 'и горизонтальная полоса прокрутки; при каждом щелчке последней
поле выводит значение, соответствующее текущей позиции движка.
Чтобы
добавить к новому элементу управления уже существующие:
Чтобы
добавить обработчик событий:
Подробнее
о модификации кода в среде программирования см. главу 3 «Редактирование
кода».
После сборки
проекта Ваш элемент управления становится доступным панели Toolbox.
Чтобы
собрать элемент управления:
Чтобы
добавить элемент управления на панель Toolbox:
Добавление
элемента управления на форму
Чтобы использовать
свой элемент управления, вставьте его на WFC-форму.
Чтобы
добавить форму в проект:
Чтобы
добавить элемент управления на форму:
Чтобы
собрать и запустить форму:
Примечание
Так как Вы впервые запускаете данный проект и в нем содержится два
JAVA-файла, на экране появится диалоговое окно Project Properties. На вкладке
Launch выберите параметр Default и укажите, что при запуске проекта
должна загружаться форма Forml. Щелкните кнопку ОК. (Подробнее о свойствах
проекта см. раздел «Настройка параметров проекта» далее в этой главе.)
Подробнее
о создании WFC-элементов и приложений см. главу 13 «Разработка WFC-элементов»
и главу 11 «Введение в программирование на базе WFC».
Создание
консольного приложения
У консольного
приложения нет графического пользовательского интерфейса. Разработать такое
приложении можно на основе неграфических классов WFC или Java API.
Примечание
Прежде чем создавать консольное приложение по следующей процедуре, закройте
любые открытые в данный момент проекты. (Для этого выберите из меню File
команду Close All.)
Чтобы
создать консольное приложение:
Примечание
Переименование файла Classl.java не приводит к переименованию соответствующего
класса в исходном коде, и наоборот. Вам придется вручную модифицировать все
экземпляры старого имени. (Обратите внимание, что Вы можете создать пустой проект
и только после этого добавить класс как шаблон ClassMain. Тогда Вам удастся
присвоить имя классу еще до его создания.)
Добавление
кода в текстовом редакторе
Для просмотра
сгенерированного исходного кода дважды щелкните Classl.java в окне Project
Explorer. Выполнение программы начнется с метода main. Чтобы добавить код
в программу:
System.out.println("The
string is: " + str);
System.out.println("The
length of the string is: " + str.length());
System.out.println("The
substring from positions 10 to 20 is: " +
str.substring(10,20));
System.out.println("The uppercase string is: " +
str.toUpperCase());
Подробнее
о модификации кода в среде программирования см. главу 3 «Редактирование
кода».
После сборки
приложение можно запустить из среды программирования или командной строки.
Чтобы
собрать и запустить приложение:
Апплет —
небольшая программа, запускаемая с HTML-страницы и создаваемая на основе классов
Java API. Ваш апплет расширяет java.app-let.Applet; для формирования графического
пользовательского интерфейса в нем, как правило, применяют классы из пакета
java.awt.
Примечание
Прежде чем создавать апплет по следующей процедуре, закройте любые
открытые в данный момент проекты. (Для этого выберите из меню File команду
Close All.)
Чтобы
создать апплет:
Примечание
Переименование файла Appletl.java не приводит к переименованию соответствующего
класса в исходном коде, и наоборот. Вам придется вручную модифицировать все
экземпляры старого имени. (Обратите внимание, что Вы можете создать пустой проект
и только после этого добавить класс как шаблон Class. Тогда Вам удастся присвоить
имя классу еще до его создания. Но в шаблоне Class нет базового каркаса кода
для апплета.)
Просмотр
кода в текстовом редакторе
Шаблон Applet
уже обеспечивает определенную функциональность, и Вы можете просмотреть предлагаемый
код в текстовом редакторе.
Чтобы
просмотреть образец кода для апплета:
Подробнее
о модификации кода в среде программирования см. главу 3 «Редактирование
кода».
После сборки
апплета связанную HTML-страницу можно активизировать из среды программирования
или просто открыть в браузере.
Чтобы
собрать и запустить апплет:
Примечание
JView позволяет запустить апплет без HTML-страницы. В командной строке
(в каталоге своего проекта) введите jview /a Appletl. Ключ /а запускает утилиту
Applet Viewer, которая и отображает Ваш апплет.
Создавая
проект Visual J + +, Вы можете использовать один из шаблонов кода, запустить
Application Wizard или открыть пустой новый проект. В первых двух случаях файлам
исходного Java-кода присваиваются имена по умолчанию — например, Forml.java
или Classl.java. Переименование файлов не приводит к переименованию соответствующих
классов в исходном коде, и наоборот; в итоге приходится вручную модифицировать
все экземпляры старых имен. Однако, создавая проект пустым, Вы получаете возможность
по-своему именовать файлы исходного Java-кода в момент их добавления.
Примечание
Прежде чем создавать пустой проект по следующей процедуре, закройте
любые открытые в данный момент проекты. (Для этого выберите из меню File
команду Close Аll.)
Чтобы
создать пустой проект:
Чтобы
добавить в проект форму или элемент управления:
Более подробную
информацию о WFC-формах и простой пример, иллюстрирующий, как модифицировать
форму, см. в разделе «Создание Windows-приложения с применением WFC»
ранее в этой главе.
Чтобы
добавить в проект Java-класс:
Чтобы
добавить в проект HTML-страницу:
Чтобы
добавить в проект COM DLL:
Примечание
Проекты, созданные пустыми, по умолчанию не упаковываются при сборке.
Однако, разрабатывая Windows-приложение с использованием WFC, Вы, вероятно,
захотите упаковать свой проект в ЕХЕ-файл, который можно запускать из командной
строки. (Если Вы создаете COM DLL, проект следует упаковать в DLL-формате.)
Подробнее на эту тему см. главу 7 «Упаковка и распространение проектов».
Создание
многопроектного решения
Каждый создаваемый
Вами проект включается в решение, а оно может содержать несколько проектов.
Примечание
Прежде чем создавать многопроектное решение по следующей процедуре,
закройте любые открытые в данный момент проекты. (Для этого выберите из меню
File команду Close All.)
Чтобы
создать в решении первый проект:
Примечание
Поскольку в момент создания проекта Windows-приложения не было открыто
проекта (или решения), новый проект создается в новом решении.
Чтобы
добавить в решение другой проект:
Сборка
многопроектного решения
Создавая
многопроектное решение, Вы можете провести сборку одного или всех его проектов.
Чтобы
собрать отдельный проект в решении:
Чтобы собрать все проекты
в решении:
Чтобы
изменить порядок сборки проектов в решении:
Определение
стартового проекта
В многопроектном
решении стартовым проектом (startup project) считается тот, который был
добавлен первым; в Project Explorer он выделяется полужирным начертанием шрифта.
С этого проекта и начинается выполнение, когда Вы выбираете из меню Debug команду
Start.
Чтобы
указать стартовый проект:
Управление
проектами с помощью Project Explorer
В окне Project
Explorer показываются элементы, принадлежащие открытому проекту (проектам).
В Visual J++ проекты базируются на каталогах. Все файлы и папки в проекте соответствуют
файлам и каталогам на жестком диске. Включая файл в проект, Вы включаете его
и в структуру каталогов проекта на жестком диске, а добавляя файл в структуру,
Вы добавляете его и в проект. Но заметьте, что файл можно удалить из проекта
и в то же время оставить на жестком диске.
По умолчанию
окно Project Explorer само появляется на экране, как только Вы создаете или
открываете какой-нибудь проект. Чтобы вывести его вручную, выберите из меню
View команду Project Explorer.
Выбор
режима просмотра проекта
Java-пакет
(Java package), по сути. — папка в проекте. Иерархия Java-пакетов в проекте
соответствует иерархии каталогов в файловой системе. В связи с этим в Project
Explorer предусмотрено два способа просмотра структуры проектов: Directory View
(каталоги) и Package View (пакеты).
В режиме
Directory View (режим по умолчанию) показывается иерархический список всех вложенных
папок проекта, соответствующий структуре каталогов проекта на жестком диске.
Каждый Java-пакет в проекте отображается как вложенная папка. В режиме Package
View вложенные папки проекта показываются в виде списка Java-пакетов. В данном
режиме видны только JAVA-файлы и папки, содержащие эти файлы. Отображаемые папки
перечисляются по именам, дополненным полными именами пакетов. А сам узел проектов
рассматривается как пакет по умолчанию (default package).
На иллюстрации,
приведенной ниже, показана структура одного и того же проекта в режимах Directory
View и Package View.
Подробнее
о взаимосвязи Java-пакетов и файловой системы см. раздел «Storing Packages
in a File System» в Java Language Specification.
Чтобы
просмотреть структуру проекта в режиме Package View:
Примечание
Структура файлов и папок, отображаемая в режиме Package View, формируется
по расположению JAVA-файлов, а не собранных файлов Java-классов. Поэтому, если
операторы package в JAVA-файлах не соответствуют их расположению на жестком
диске, пакеты проекта отображаются в этом режиме некорректно.
Чтобы
просмотреть структуру проекта в режиме Directory View:
По умолчанию Project
Explorer не показывает файлы и папки, не относящиеся к проекту, но содержащиеся
в его структуре каталогов на жестком диске. Однако, если установлен режим
Directory View, в окно Project Explorer можно вывести и эти элементы, щелкнув
кнопку Show All Files. В режиме Package View кнопка Show All Files
отключена. Подробнее о файлах и папках, которые не относятся к проекту,
но могут присутствовать в его структуре каталогов на жестком диске, см.
раздел «Отображение всех файлов в структуре каталогов проекта»
далее в этой главе.
Вы можете
открывать файлы своего проекта через Project Explorer. Каждый тип файлов связан
со своим редактором исходного кода. Кроме того, некоторые типы файлов связаны
с графическим редактором. Чтобы открыть файл в своем редакторе исходного кода:
Чтобы
открыть файл в графическом редакторе:
Совет
Дважды щелкнув имя какого-либо файла, Вы откроете его в стандартном
для данного типа файлов редакторе. Например, двойной щелчок WFC-формы открывает
ее в Forms Designer.
О добавлении
файлов в проект см. раздел «Добавление файла» далее в этой главе.
Узел Miscellaneous
Files
Чтобы открыть
файл, не являющийся частью открытого проекта, используйте команду Open File
из меню File. Project Explorer покажет его в узле Miscellaneous Files. В дальнейшем
— после того как файл будет помещен в этот узел — Вы сможете открывать его двойным
щелчком.
Обратите
внимание, что после удаления из проекта файл остается в структуре каталогов
этого проекта на жестком диске. Если Вы захотите вновь открыть его, Вам придется
воспользоваться командой Open File, так как он уже не относится к данному проекту.
Об удалении файлов см. раздел «Удаление файла или папки» далее в
этой главе.
Когда Вы
добавляете в свой проект какой-нибудь файл, он включается в процесс сборки этого
проекта. Кроме того, добавление файла в Java-проект приводит к его добавлению
в структуру каталогов проекта на жестком диске:
Примечание
Некоторые файлы, находящиеся в структуре каталогов проекта, иногда к нему не
относятся. Например, файл, удаленный из проекта, остается в структуре каталогов
на жестком диске. Такой файл можно вновь включить в проект. Вы можете добавить
файл в проект верхнего уровня или в конкретную папку. О добавлении папок в проект
см. раздел «Добавление папки» далее в этой главе.
Чтобы
добавить файл в проект:
Когда отдельный
файл добавляется в проект через Project Explorer, он автоматически открывается
в своем стандартном редакторе (этого не происходит при добавлении сразу нескольких
файлов). Об открытии файлов см. раздел «Открытие файла» ранее в
этой главе.
Примечание
Если файл вводится в структуру каталогов проекта через файловую систему,
он автоматически включается в проект — при условии, что его тип задан в фильтре
проекта. После этого файл появляется в окне Project Explorer, но не открывается.
Подробнее о фильтре проекта см. раздел «Отображение всех файлов в структуре
каталогов проекта» далее в этой главе.
Добавление
файла, находящегося в структуре каталогов проекта
Если какой-то
файл не является частью проекта, но присутствует в его структуре каталогов,
Вы можете добавить этот файл в проект, как описано ниже.
Чтобы
включить в проект файл, присутствующий в структуре каталогов проекта:
Подробнее
о файлах, которые не относятся к проекту, но находятся в его структуре каталогов,
см. раздел «Отображение всех файлов в структуре каталогов проекта»
далее в этой главе.
Когда Вы
добавляете в проект новую папку, на жестком диске создается соответствующий
каталог. В Java-проекте папка, по сути, — Java-пакет. В режиме Directory View
все пакеты показываются в окне Project Explorer как вложенные папки проекта,
а в режиме Package View — как Java-пакеты. Подробнее о режимах просмотра см.
раздел «Выбор режима просмотра проекта» ранее в этой главе.
Примечание
Некоторые папки в структуре каталогов проекта иногда к нему не относятся.
Например, папка, удаленная из проекта, остается в структуре каталогов на жестком
диске. Такую папку можно вновь включить в проект.
Чтобы
добавить в проект новую папку (пакет):
Создав папку,
можете добавить в нее файлы. О добавлении файлов см. предыдущие разделы.
Примечание
Если папка вводится в структуру каталогов проекта через файловую
систему, она автоматически добавляется в проект и появляется в окне Project
Explorer. Все файлы из этой папки, типы которых заданы в фильтре проекта, тоже
включаются в проект. Подробнее о фильтре проекта см. раздел «Отображение
всех файлов в структуре каталогов проекта» далее в этой главе.
Добавление
папки, находящейся в структуре каталогов проекта
Если какая-то
папка не является частью проекта, но присутствует в его структуре каталогов,
Вы можете добавить ее в проект, как описано ниже.
Чтобы
добавить в проект папку, присутствующую в структуре каталогов проекта:
Подробнее
об элементах, которые не относятся к проекту, но находятся в его структуре каталогов,
см. раздел «Отображение всех файлов в структуре каталогов проекта»
далее в этой главе.
Копирование
и перемещение файла или папки
Копируя или
перемещая файл либо папку в Java-проекте, Вы одновременно копируете или перемещаете
этот элемент на жестком диске.
Примечание
Если Вы копируете или перемещаете JAVA-файл в другую папку, Вам придется вручную
изменить его оператор package, чтобы он ссылался на новый пакет. (Узел проекта
считается пакетом по умолчанию.) Точно так же, перемещая папку в рамках проекта,
Вы должны вручную изменить операторы package в каждом JAVA-файле, который содержится
в этой папке. Если оператор package в файле не соответствует расположению папки,
в которой находится данный файл, то после сборки проекта выходная структура
каталогов не совпадет с исходной.
При копировании
и перемещении элементов Project Explorer подчиняется правилам файловой системы.
Например, Вам не удастся переместить папку в любую из ее вложенных папок.
Чтобы
скопировать или переместить файл либо папку в проекте:
Примечание
Если файл или папка копируется либо перемещается через файловую систему, этот
элемент автоматически копируется
или перемещается и в Project Explorer. Но о корректности операторов package
в JAVA-файлах Вы должны заботиться сами. Кроме того, копировать файлы и папки
можно, просто перетаскивая их мышью в окне Project Explorer. Заметьте, что операции
drag-and-drop в Project Explorer позволяют лишь копировать исходные элементы.
В режиме Directory View Вы можете перетаскивать отдельную папку или группу файлов,
а в режиме Package View — только файлы. Подробнее о режимах просмотра см. раздел
«Выбор режима просмотра проекта» ранее в этой главе.
Переименование
файла или папки
Переименовывая
файл или папку в Java-проекте, Вы одновременно переименовываете этот элемент
на жестком диске.
Примечание
При переименовании элемента в проекте Вы должны вручную модифицировать все ссылки
на старое имя. Так, спецификация Java требует, чтобы имя открытого класса совпадало
с именем исходного файла. Поэтому, переименовывая JAVA-файл, переименуйте соответствующий
открытый класс (и наоборот).
Если Вы изменяете
имя папки, Вы должны вручную изменить операторы package в каждом JAVA-файле,
который содержится в этой папке. Если оператор package в файле не соответствует
расположению папки, в которой находится данный файл, то после сборки проекта
выходная структура каталогов не совпадет с исходной.
Чтобы
переименовать файл или папку в проекте:
Примечание
Если файл или папка переименовывается через файловую систему, этот элемент автоматически
переименовывается и в Project Explorer. Но об исправлении всех ссылок на старое
имя Вам придется позаботиться самому.
После удаления
из проекта файл больше не участвует в процессе сборки проекта, но остается в
структуре каталогов этого проекта на жестком диске. А после удаления папки из
проекта исключаются и файлы, хранящиеся в ней, — все они тоже остаются на жестком
диске.
Кроме того,
Вы можете удалить файл или папку не только из проекта, но и с жесткого диска.
Примечание
Исключение из проекта или полное удаление JAVA-файла не означает автоматического
исключения или полного удаления связанного с ним CLASS-файла (если таковой есть).
Но Вы можете найти этот файл в Project Explorer и самостоятельно удалить его.
Чтобы
удалить файл или папку из проекта:
Чтобы удалить файл или
папку не только из проекта, но и с жесткого диска:
Примечание
Если элемент удаляется через файловую систему, он автоматически удаляется
и из проекта.
Project Explorer
позволяет отображать элементы, удаленные из проекта. Подробнее на эту тему см.
следующий раздел. О повторном включении в проект удаленных из него файлов или
папок см. разделы «Добавление файла» и «Добавление папки»
ранее в этой главе.
Отображение
всех файлов в структуре каталогов проекта
В структуре
каталогов проекта могут присутствовать и не относящиеся к нему элементы. Это
связано с тем, что:
В режиме
Directory View есть возможность вывести в окно Project Explorer все файлы и
папки, находящиеся в структуре каталогов проекта, — даже если они к нему не
относятся. Включен ли данный элемент в проект, легко определить по его значку.
Чтобы
включить (или отключить) отображение всех элементов в структуре каталогов проекта:
О включении
в проект файлов или папок, к нему не относящихся, см. разделы «Добавление
файла» и «Добавление папки» ранее в этой главе.
Фильтр
проекта
С помощью
этого фильтра Visual J + + определяет, какие типы файлов связаны с Java-проектом.
Он относится к «включающим» фильтрам, и расширения, заданные в нем,
идентифицируют допустимые типы файлов проекта. В фильтр проекта включены следующие
расширения:
Когда файл
добавляется в структуру каталогов проекта вне среды Visual J + +, фильтр проекта
используется, чтобы проверить, относится ли данный файл к проекту.
Внимание
Если Вы добавляете файл в среде Visual J++, он всегда включается в проект —
независимо от типа.
Visual J+
+ предусматривает большое количество параметров, позволяющих настраивать процесс
отладки, оптимизировать компиляцию, предоставлять классы проекта другим программам
как СОМ-объекты и определять пути к файлам, связанным с Вашим классом. Все эти
параметры Вы найдете в диалоговом окне ИмяПроекта Properties, которое
открывается одноименной командой из меню Project.
Прежде чем
компилировать проект в Visual J++, Вы должны определить файл проекта, который
загружается первым и с которого начинается выполнение приложения. Для этого
Вы либо выбираете нужный файл из списка имеющихся в проекте (он запускается
стандартной программой со стандартной командной строкой), либо указываете свои
программу и командную строку. В большинстве приложений Вас устроит первый вариант.
Второй же обычно выбирают, когда хотят определить свою командную строку, передаваемую
приложению при запуске из среды Visual J + + . Этот вариант полезен и при разработке
WFC-элемента или COM DLL, тестируемых из отдельной программы.
Чтобы
выбрать конфигурацию сборки:
Чтобы
выбрать стартовый файл со стандартными программой и командной строкой:
Содержимое поля Program определяет программу, которая запускает Ваше приложение, а поле Arguments — аргументы командной строки, передаваемые этой программе.
Чтобы
выбрать стартовый файл и определить свои программу и командную строку:
Примечание
Если при сборке отладочной и конечной версий проекта Вам нужны разные стартовые
файлы, используйте список Configuration.
Настройка
параметров компилятора
Ряд параметров
Visual J+ + позволяет оптимизировать компилируемый код и настроить процесс отладки
приложения. Доступ к этим параметрам открывает вкладка Compile диалогового
окна свойств проекта. Большая часть параметров представлена флажками, которые
Вы устанавливаете или сбрасываете, соответственно включая или отключая связанные
с ними параметры. Чтобы получить справку по этим параметрам, щелкните кнопку
Help в диалоговом окне свойств проекта. Если Вы хотите определить символы
условной компиляции, используемые при компиляции Вашего кода, введите их в поле
Conditional compilation symbols, отделяя каждый символ запятой. Подробнее
об определении символов
и об условной компиляции см. приложение Б «Условная компиляция».
Кроме основных
параметров компилятора, можно задать и дополнительные, передаваемые компилятору
уже после передачи основных. Для этого предназначено поле Additional compiler
options. Вы вводите в него параметры, отделяя их пробелами. Подробнее о
параметрах компилятора см. раздел «Параметры командной строки JVC»
главы 9 «Компиляция приложений с помощью JVC».
Еще один
параметр компиляции, который можно установить на вкладке Compile, — Output
Directory. Это поле задает каталог, куда записываются скомпилированные файлы
проекта. Если в Вашем проекте определены какие-нибудь пакеты, Visual J++ создает
их в выходном каталоге (output directory) и компилирует любые содержащиеся в
них исходные файлы. Этот параметр позволяет указать место, где размещаются файлы,
получаемые при сборке отладочной или конечной версии проекта. По умолчанию поле
Output Directory всегда пустое, и поэтому все выходные файлы помещаются
в каталог проекта.
Примечание
Список Configuration дает возможность определить разные параметры для
сборки отладочной и конечной версий проекта. А выбрав в нем строку All Configurations,
Вы сделаете любые изменения параметров глобальными для всех конфигураций
своего проекта.
Определение
собственных правил сборки
В зависимости
от типа проекта Вам может понадобиться, чтобы какие-то операции выполнялись
до, а какие-то — после его сборки. Для этого предназначена вкладка Custom
Build диалогового окна свойств проекта, на которой имеются два текстовых
поля для ввода команд. Формат команд должен быть идентичен тому, что применяется
в командных файлах (типа Autoexec.bat).
Чтобы
добавить команды, исполняемые до или после сборки:
Если Вы хотите
задействовать в своих проектах Java-пакеты, очень важ- , но, чтобы они были
заданы в Classpath (это путь, по которому компилятор ищет пакеты, встречая ссылки
на них в Ваших проектах). Вы можете добавить пакет в Classpath, либо указав
этот путь в файле Autoexec.bat (любой операционной системы Microsoft Windows),
либо в параметрах окружения (только Microsoft Windows NT). Например:
SET CLASSPATH=%PATH%;
С:\MYPACKAGE;
Возможно,
что в каком-то проекте Вы захотите указать в Classpath дополнительный путь.
Добавлять и удалять пути, относящиеся к данному проекту, позволяет вкладка Classpath
диалогового окна свойств проекта.
Чтобы
открыть вкладку Classpath:
Чтобы
добавить путь к Classpath, специфичному для данного проекта:
Примечание
Если Вы открыли в Visual J + + сразу несколько проектов, можете объединить
все Classpath, специфичные для конкретных проектов, в один «специфичный
для решения» Classpath. Для этого установите флажок Merge all Project-specific
Classpaths in Solution.
Для удаления
Classpath из списка укажите нужный Classpath и щелкните кнопку Delete. Кроме
того, кнопки Up и Down позволяют изменять порядок путей Classpath
в списке.
Определив
свой класс как СОМ-класс, Вы сможете создать эффективное и повторно используемое
приложение. При этом класс и его открытые методы становятся доступными другим
приложениям и языкам программирования. Вкладка COM Classes диалогового
окна свойств проекта позволяет указать, какие открытые классы в данном проекте
следует определить как СОМ-классы. После того как Вы сообщите, что такой-то
класс является СОМ-классом, Visual J++ создаст библиотеку типов для СОМ-классов
Вашего проекта, доступную другим приложениям, и зарегистрирует ее в реестре
как СОМ-объект. Кроме того, вкладка COM Classes дает возможность предоставить
классы проекта другим приложениям через существующую библиотеку типов или создать
шаблоны классов для имеющихся библиотек типов или ActiveX-элементов встраиваемого
СОМ-объекта. СОМ-шаблоны позволяют реализовать на Java СОМ-компоненты, определяемые
в библиотеках типов или существующих СОМ-компонентах. Если у Вас есть библиотека
типов или СОМ-компонент, которые Вы хотите реализовать на Java, Вы можете выбрать
их из списка, и Visual J++ включит в Ваш проект соответствующий шаблонный код.
Тогда Вы реализуете каждый из методов, предоставленных шаблонами, и после компиляции
получите СОМ-компонент.
Чтобы
преобразовать свой класс в СОМ-класс:
Примечание
Изменение конфигурации сборки в списке Configuration не влияет
на параметры, устанавливаемые на вкладке СОМ Classes диалогового окна ИмяПроекта
Properties.
Чтобы
задействовать существующую библиотеку типов:
Visual J
+ + создаст каталог пакета в каталоге проекта и поместит в него сгенерированные
шаблоны классов.
Перенос
проектов из Visual J++1.1
Среда программирования
Visual J++ 6.0 позволяет открывать и использовать Java-проекты, созданные в
Visual J ++ 1.1. Преобразование этих файлов описано в следующей процедуре.
Внимание
Прежде чем импортировать проект из Visual J++ 1.1, очень важно разобраться
в новой структуре проектов Visual J+ + 6.0. Она — в отличие от Visual J++ 1.1,
где проекты были простым набором файлов, — базируется на каталогах. Такое изменение
в структуре проектов означает, что каждый файл в корневом каталоге Вашего проекта
и всех его подкаталогах автоматически становится частью проекта. Вы можете исключить
какие-то файлы из нового проекта, выбрав из контекстного меню в Project Explorer
команду Remove From Project, а также вернуть исключенные элементы обратно
в проект, выбрав команду Add To Project из того же меню. Но, физически
удалив файл из каталога проекта, Вам уже не удастся восстановить его из среды
программирования и останется лишь прибегнуть к помощи Recycle Bin (Корзина).
Чтобы импортировать проект из Visual J++1.1:
Теперь этот проект можно модифицировать, собрать и запустить.
Дело в том, что в его постановке и выводах произведена подмена, аналогичная подмене в школьной шуточной задачке на сообразительность, в которой спрашивается:
- Cколько яблок на березе, если на одной ветке их 5, на другой ветке - 10 и так далее
При этом внимание учеников намеренно отвлекается от того основополагающего факта, что на березе яблоки не растут, в принципе.
В эксперименте Майкельсона ставится вопрос о движении эфира относительно покоящегося в лабораторной системе интерферометра. Однако, если мы ищем эфир, как базовую материю, из которой состоит всё вещество интерферометра, лаборатории, да и Земли в целом, то, естественно, эфир тоже будет неподвижен, так как земное вещество есть всего навсего определенным образом структурированный эфир, и никак не может двигаться относительно самого себя.
Удивительно, что этот цирковой трюк овладел на 120 лет умами физиков на полном серьезе, хотя его прототипы есть в сказках-небылицах всех народов всех времен, включая барона Мюнхаузена, вытащившего себя за волосы из болота, и призванных показать детям возможные жульничества и тем защитить их во взрослой жизни. Подробнее читайте в FAQ по эфирной физике.