Проект — это набор файлов, из которых состоит приложение. В 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:
Теперь этот проект можно модифицировать, собрать и запустить.
Когда тот или иной физик использует понятие "физический вакуум", он либо не понимает абсурдности этого термина, либо лукавит, являясь скрытым или явным приверженцем релятивистской идеологии.
Понять абсурдность этого понятия легче всего обратившись к истокам его возникновения. Рождено оно было Полем Дираком в 1930-х, когда стало ясно, что отрицание эфира в чистом виде, как это делал великий математик, но посредственный физик Анри Пуанкаре, уже нельзя. Слишком много фактов противоречит этому.
Для защиты релятивизма Поль Дирак ввел афизическое и алогичное понятие отрицательной энергии, а затем и существование "моря" двух компенсирующих друг друга энергий в вакууме - положительной и отрицательной, а также "моря" компенсирующих друг друга частиц - виртуальных (то есть кажущихся) электронов и позитронов в вакууме.
Однако такая постановка является внутренне противоречивой (виртуальные частицы ненаблюдаемы и их по произволу можно считать в одном случае отсутствующими, а в другом - присутствующими) и противоречащей релятивизму (то есть отрицанию эфира, так как при наличии таких частиц в вакууме релятивизм уже просто невозможен). Подробнее читайте в FAQ по эфирной физике.