Создание простых приложений

В

этой главе рассказывается, как запускать простейшие Java-программы в JBuilder. В этой главе я поставил перед собой пять целей:

■ Помочь программистам, начинающим работать на Java, создавать очень про­стые программы.

■ Ознакомить всех пользователей с основами применения диспетчера проектов JBuilder.

4

■ Объяснить, как в JBuilder создавать простые утилиты командной строки, вро­де тех, которые вы, возможно, применяли для сопровождения информацион­ных систем.

■ Получить первое представление о запуске программ из командной строки.

■ Показать, как преобразовать и запустить относительно простые не-JBuilder

Проекты, наподобие примеров, поставляемых вместе с JDK.

Во всех проектах, приведенных в качестве примеров в данной главе, я специаль­но не буду использовать пакеты. Почти все остальные программы из этой книги ис­пользуют пакеты. Я избегаю применения пакетов в данной главе не с целью упро­щения создаваемого мною кода, а чтобы продемонстрировать, как в JBuilder рабо­тать с проектами без пакетов.

Если вы посчитаете, что мне вообще не нравится идея применения па­кетов, то это будет говорить о полном непонимании моих намерений. Используйте паке­ты во всех своих проектах, за исключением самых простейших. И даже в этом случае, возможно, лучше все-таки иметь дело с пакетами. Использование пакетов — хорошая программистская привычка. В этой главе я поставил себе цель показать вам, как с помо­Щью JBuiIder создавать очень простые проекты, а не поощрять нехорошие привычки.

JBuilder является очень мощным инструментом, созданным для того, чтобы с его помощью вы могли создавать как простые, так и очень сложные проекты. По какой — то странной иронии судьбы оказывается, что в JBuilder легче создать относительно сложный проект, нежели собрать и запустить простой проект.

Не думайте, что глава проста, если в ней идет речь о простых проектах. В ней до­статочно информации, которая может пригодиться разработчикам на Java и средне­го, и профессионального уровня.

Что такое JPR — и JPX-файлы?

JPR- или JPX-файл — это файл JBuilder-πpoeκτa. Вы не сможете ничего скомпи­лировать в IDE-среде JBuiIder, если сначала не создадите проект. Если вы хотите ре­дактировать и отлаживать аплет или приложение с помощью JBuilder, этот файл должен присутствовать.

JPR-файл — это обычный текстовый файл, а JPX-файл — это текстовый файл, ос­нованный на языке XML. И JPR-, и JPX-файлы работают во всех редакциях JBuilder. Я не вижу никаких преимуществ в использовании того или другого формата, но ду­маю, что сейчас более распространен формат JPX, a JPR оставлен просто для работы со старыми приложениями. Поэтому, если у вас нет никаких других причин, вы мо­жете использовать по умолчанию формат JPX.

Вы открываете этот файл, когда открываете проект JBuilder. Если вы в первый раз открываете проект, не ищите файлы с расширением. java, вместо этого найдите файл с расширением. jpr или. jpχ.

Как вы знаете, JBuilder не требует какого-то специального форматирования Java — кода. Если созданный вами код компилируется в командной строке с помощью дос­тупного JDK, то не должно быть проблем с его компиляцией и в JBuilder. Я не встречался с тем, чтобы стандартное Java-приложение или аплет не могли ком­пилироваться и выполняться в JBuilder. Обратное также верно. Если код компи­лируется в JBuilder, то у вас не должно быть проблем с его компиляцией из ко­мандной строки.

Добавление в проект JPR — или JPX-файла не требует никаких изменений в исход­ных Java-файлах, входящих в этот проект. И наличие этого файла не влияет на спо­собность кода компилироваться в командной строке в какой-то другой IDE-среде Java. На самом деле, файлы проекта JBuilder существенно упрощают компиляцию из командной строки. Все, что делает JPR — или JPX файл — это помогает JBuilder управлять проектом.

примечаниеИногда нужно иметь несколько JPR/JPX-файлов для одного проекта. Это случа­ется тогда, когда с одним и тем же проектом необходимо работать в различных кон­фигурациях.

Шмимжаш ∣∏ у меНя возникали проблемы с открытием или выполнением проектов Java в JBuiIder в двух случаях:

■ Если в пакете присутствует неверный исходный Java-файл. Эти файлы могут никог­да не использоваться другими файлами пакета. Такие проекты могут успешно ком­пилироваться и собираться в командной строке. Но при работе в JBuiIder необходи­мо удалить все неверные Java-файлы из пакетов, входящих в состав проекта. Коро­че говоря, все исходные файлы во всех пакетах, входящих в проект, должны компилироваться.

■ По не вполне понятным для меня причинам некоторые программисты хранят проек­ты в каких-то странных каталогах, не имеющих ничего общего с пакетами, в кото­рых, в конце концов, они будут храниться. Затем применяется какой-то сложный make-файл для копирования файлов в нужный пакет и компиляции их там. В JBuiIder структура подобного рода не работает. Если вы хотите запустить проект в JBuiIder, необходимо хранить файлы в соответствующих пакетах.

Простые приложения без пакетов

примечаниеПредположим, что вам достался "в наследство", или же вы разрабатываете аплет или приложение, в котором нет пакетов. Как открыть такой проект и начать его от­лаживать в IDE-среде JBuilder?

Оказывается, существуют два способа сделать это. Один требует при­менения мастера, называемого Project for Existing Code (Проект для существующего кода). Этот мастер можно вызвать с помощью пункта меню File ∣ New и далее перейти на страницу Project. Этот мастер не доступен в JBuiIder редакции Personal, и он не эконо­мит сколько-нибудь заметное время. На самом деле, работа с ним практически идентич­на шагам, о которых будет рассказано в следующих нескольких абзацах. Поэтому я рас­Скажу о нем позже в этой главе, причем достаточно кратко.

Рассмотрим очень короткое приложение, приведенное в листинге 23.1. Вы мо­жете найти его в сопровождающих книгу материалах, в каталоге SiinpleClass.

Такой проект вы можете создать, начав изучение Java. Вопрос, конечно, в том, что делать в JBuilder с уже существующим экземпляром подобного проекта.

Листинг 23.1. Очень простой Java-πpoeκτ

Class SiiipleClass

{

Public static void main(String arg[])

(

Systern.Out.Println("Да здравствует мыло душистое");

}

J

Если этот проект еще не существует и вы просто следуете рассуждениям этой гла­вы, создайте его с помощью какого-нибудь текстового редактора и сохраните его в отдельном каталоге. В целях текущего обсуждения предположим, что вы создали файл SimleClass. ɔAva И сохранили его в каталоге SimpleCiass. Если такой файл существует, скопируйте его в отдельный каталог. Не помещайте в этот каталог боль­ше ничего. (Позже в данной главе я покажу вам, как поместить в один каталог не­сколько проектов.)

В этой главе я предполагаю, что весь написанный вами код находится в одном каталоге. Далее, я считаю, что этот каталог не является корневым каталогом диска. Например, это не каталог С:\ и даже не Unix-каталог \, и не Linux-каталОг типа

HomeMyUserName.

В Windows я предлагаю вам сохранить файл В Каталоге C:\srcjava\simpiedass. Если вы работаете в Linux, вы можете поместить его в ∕home∕MyUsβrDir∕srcjava∕ SimpleClass. Я считаю, что лучше избегать пробелов в пути вашего проекта.

Теперь, когда каталог создан и в него помещен рассматриваемый файл, можно приступить к созданию JBuilder-проект. На это потребуется несколько шагов. Хотя их конечная цель — просто поместить в рабочий каталог файл проекта.

1. Запустите JBuilder и выберите пункт меню File ∣ Close Projects, чтобы закрыть все существующие проекты. (Опять-таки, это не крайне необходимо, однако лучше начать "с чистого листа".)

2. Выберите пункт меню File ∣ New Project. Щелкните на кнопке эллипсиса ря­дом с полем Directory (Каталог) и найдите каталог, где вы сохранили исходный файл. Например, если вы сохранили программу в C:SrcjavaSιmpieClass, То найдите каталог C:\Srcjava.

3. В поле Name (Имя) введите имя каталога, в котором находится исходный файл. Например, введите SimpIeCIass. В поле Template (Шаблон) появится значение по умолчанию.

Правильно заполненный диалог показан на рис. 23.1.

Перейдите на вторую страницу мастера создания проекта, щелкнув на кнопке Next. Измените текст в поле Output Path (Выходной каталог) так, чтобы в его конце не было слова "classes". Эта строка определяет, куда JBuilder будет помещать файлы классов, создаваемые при компиляции. Он эквивалентна опции — d в утилите ко­мандной строки Javac.Exe. Наша цель — поместить файлы классов в тот же ката­лог, что и исходный файл.

На странице с закладкой Source внизу диалогового окна щелкните на строке, в конце которой находится слово "src". Щелкните на кнопке Edit и введите имя исходного каталога проекта, т. е. каталога, в котором вы сохранили файл SiinpleClass . Java.

После этого диалоговое окно должно выглядеть так, как показано на рис. 23.2.

Щелкните на кнопке Next для перехода к третьей странице мастера создания проекта. Примите значения по умолчанию, щелкнув на кнопке Finish.

После этого IDE-среда JBuilder должна выглядеть так, как показано на рис. 23.3. (Если рис. 23.3 выглядит несколько непривычно для вас, то это только потому, что я максимально ужал IDE-среду, чтобы показать вам все детали и, в то же время, затра­тить как можно меньше места.)

рис. 23.1.
первый шаг заполнения мастера создания проекта для простого проекта без пакетов
к,project wizard - step ɪ of 3,setect name and temptede for your new jbumer praiect
enter a name fa your project and the path to the directory where it rs to be saved. you can ontionakvcnoose an eχiβtino prelect «s a template ter tee tojba∣ default''aɪues usedlntelswaard
,name: (simpleclass
βιr6ctαry jetsrcjava∕jbboowgettingstarted∕simpleclass
,c !/documents and settingslt woiverineydefauit jpr,finish,l

Исследование нового проекта

На рис. 23.3 следует обратить внимание на три важных момента:

■ Путь к файлу JPR/JPX находится в верхней части IDE.

■ Имя проекта совпадает с именем каталога, в котором он находится.

■ Пиктограмма голубого цвета рядом со словами "Project Source".

Первый из этих моментов очевиден. Остальные два требуют небольших поясне­ний.

Файл этого проекта называется SimpleClass. jpr. Если бы мы сохранили его в формате XML, то он бы назывался SimpleClass. jp×.

■г* ×jПроект получил такое имя в основном из-за того, что вы сохранили его в катало­ге с именем SimpleCiass. Файл SimpIeCIass dpr виден в панели проекта (см. левую часть рис. 23.3). Если щелкнуть на этом узле правой кнопкой и выбрать в появив­шемся контекстном меню пункт Properties (Свойства), то вы сможете редактировать свойства проекта. Например, вы сможете изменить все решения, принятые вами после завершения первой страницы мастера создания проекта.

J) Project Wtzerd — Step 2 of 3

SpecnyDroIectiMttts

EOif the рави and settings here to help define your new protect Thssesnd Ottter properties cwt be — hsnneti

. 23.2. второй шаг :mepa создания екта. изменено е output path и юница source зу диалога,рис. 23.3. ide-среда jbuildernocjie завершения работы мастера создания проекта ⅛dk,jjava 1 3.1-b2t
}∈ tsrcjavafjbbookfgettlngstarteittsimpieciassf
,bedtup dstr, r, )z/srcjavarjbbcokroettinghtartedisimpieciassibak ftt>f∣<fnflj⅛*(⅛a)f∙ (etsrcjavaflbbookfgettlnflstartedisimpieciass source ■ dwumentattohj re<r∣t∣eβlibraries ∣,< back ∣ nexfi- j hntsh ∣ cancel f heip ∣,ftte edit search view project run ɪeam wteardr,window,simdleclassjpr,3p simpieciass jpr ehft <project source> l∙⅛ simpieciassjava,ctrttoclipboard,jbuiider - f: srcjava/jbbook∕ gettingsturted∕sιrnpteoass∕sirrφteclaβs4p*i
τe=∙t,` Γattι,i <r i etsrcjavaflbbookfgetttnflstartecttsimpieciass adtj

Маленький голубой пакет со словами <Project Source> после него представляет главный пакет проекта. У него нет имени, поскольку на самом деле при создании этого простого проекта вы не используете пакеты. Если бы вы использовали пакеты, то вместо <Project Source> отображалось бы имя пакета.

Но если все-таки открыть этот пакет, вы увидите, что он содержит файл SimpleCiass. Java, Как показано на рис. 23.3. Это несколько обескураживает. Вы не используете пакеты, и все-таки JBuilder вставляет в ваш проект символ пакета! То, что вы видите, является следствием склонности JBuilder к проектам, использующим пакеты. Проще всего рассматривать эту пиктограмму как символ каталога. В этом нет большой натяжки, поскольку на самом деле пакет и является каталогом.

Далее потребуется щелкнуть на пиктограмме с изображением зеленого плюса. Появится диалоговое окно, с помощью которого вы сможете официально добавить файл SimpleClass. Java В свой проект. Делать это не обязательно, и в больших про­ектах я не люблю это делать со всеми файлами приложения. Но в таком простом проекте это имеет смысл.

Выполнение кода: указание главного класса проекта

И, наконец, необходимо задать главный класс проекта. На этом шаге вы сообща­ете JBuilder, какой класс содержит метод с именем main, который представляет со­бой точку входа в проект. Если бы вам нужно было запустить аплет, потребовалось бы выполнить почти те же самые шаги, но указать JBuilder в качестве главного клас­са потомка класса JAppiet или Applet. Либо можно было бы задать HTML-файл, используемый для запуска проекта.

Сначала выберите пункт меню Project ∣ Project Properties (Проект | Свойства про­екта), в результате чего появится диалоговое окно свойств проекта Project Properties. Этот же диалог вы можете вызвать, щелкнув правой кнопкой мыши на JPR-файле.

1. Перейдите на страницу Run.

2. Щелкните на кнопке New… в правой части диалогового окна. Появится диа­лог Runtime Properties (Свойства времени выполнения). По умолчанию должна открыться страница Application Page (Страница приложения).

3. Щелкните на кнопке эллипсиса справа от поля Main Class (Главный класс) и найдите в нижней части появившегося диалогового окна Select Main Class for Project (Выберите главный класс проекта) строку SimpIeCIass. Обратите вни­мание, что этот класс не находится ни в одном из вышеперечисленных паке­тов. Он не находится ни в одном из них, поскольку вы не используете в ис­ходном коде директиву Package.

4. Если хотите, можете в поле Configuration Name (Имя конфигурации) вверху ди­алога Runtime Properties ввести имя Simple Class. Это может оказаться полез­ным, если вы решите, что вам нужно более одной конфигурации времени вы­полнения. Щелкните на кнопке OK.

5. Вернитесь в диалоговое окно Project Properties, щелкните на соответствующем флажке, чтобы выбрать Simple Class В качестве главного класса проекта по умолчанию. Если у вас имеется только одна конфигурация, то это не обяза­тельно, тем не менее, лучше ввести это в привычку.

456,, f,√l. μvy^ιw.v,.,,.γ,z
resei i
. 0κ 1
ок ] csfitsi j help |
cancel
help
runtime properties
gon⅛uιahtlp items, jsimole class runj
j) select main class for project
z appk∙bon j ʌppieɪ be>⅛βr^ тей
browse i search,
class name: ∣sιmpleclass
mamttess jsiripiecipss ум parameter?'
φ bin Φ>c0m φ> com
i æ φ> demo ∣ æ φ> include i si φ> java
Φ> java×
£®> jre
i‘ si ®> lib si φ> netscape ё φ org ■j æ φ> sun ∣ s φ> sunw
⅛∣fctftofl psfamelers
4i
й
i
i-

рис. 23.5. диалог runtime propertiesРис. 23 А. Диалог, в котором необходимо выбрать главный класс проекта

примечаниеЩелкните на кнопке OK. Теперь диалог Project Properties будет выглядеть так, как показано на рис. 23.6.

В JBuiIder 6 и 7 (а также 8—X) страница Run диалогового окна Project Properties выглядит по-разному. В новых версиях JBuiIder появилась возможность рабо­тать с несколькими конфигурациями. Поэтому шаг 4 потенциально важен. В нем можно дать подходящее имя конкретной конфигурации.

Второй способ получить несколько конфигураций для одного проекта состоит в наличии нескольких JPX/JPR-файлов для одного проекта. Команда разработчиков JBuiIder вполне разумно решила, что проще иметь несколько JPX/JPR-файлов, чем несколько вариантов конфигураций в одном файле проекта. Последний вариант принят компанией Microsoft в Visual Studio, где вы можете произвести выбор между отладочной и окончательной версией проекта. Вместо этого в JBuiIder у вас должны быть отладочный и окончатель­ный JPX-файлы. Вы можете, например, использовать несколько JPX-фаилов, чтобы уста­новить различные наборы точек останова для отладки различных частей вашего прило­жения.

Если вы хотите создать еще один JPX-файл для существующего проекта, выберите в JBuiIder пункт меню File ∣ New и перейдите на страницу Project. Выберите вариант Project for Existing Code (Проект для существующего кода). Этот мастер поможет со­Здать новый JPX-файл для существующего исходного кода, что будет описано ниже.

После того как вы щелкнете в диалоговом окне Project Properties на кнопке ОК, вы, наконец, сможете компилировать и запускать разработанное JBuilder-приложе — ние. Щелкните на зеленой пиктограмме Run или выберите пункт меню Run ∣ Run Project Результат должен быть похож на то, что вы можете наблюдать на рис. 23 7

ПРИМЕЧАНИЕ

N∣βΛiu*⅛HMi*Λ∣β После выбора главного класса в своем проекте вы можете запускать проект, выбрав пункт меню Run, нажав клавишу F9 или щелкнув на зеленой пиктограмме выполнения. Но вы можете запустить файл на выполнение и щелкнув на нем правой кнопкой мыши в панели проекта и выбрав в появившемся контекстном меню пункт Run. Только файлы, которые можно запустить, могут иметь в этом меню пункт Run. Файл, ко­торый можно запустить, может быть приложением, содержащим оператор main, либо Главным файлом аплета, либо HTML-файлом, ссылающимся на аплет.

Обратите внимание, что на рис. 23.7 выходные сообщения проекта находятся в панели сообщений внизу IDE-среды, ниже отображаемого пути класса. А в панели структуры вы можете видеть единственный метод вашего класса. В данном случае структура предельно проста, поскольку имеется только один класс — SimpleClass, А в нем содержится единственный метод Main.

Л) Projert Properties

F-⅛th8⅛ Cent. Run Buiidl *0!βet,. τ>port c⅛te’l Ed⅛x] tɪh ∣ 36tvβr∣

RunBme <⅛nt⅛urat>αnt

Гиити

Aj pur Λt∣n n Sim hl й f I ⅛

£Opr

Рис. 23.6. Так выглядит диалог Project Properties После выбора главного класса проекта

Reset

J ⅛…………………………………………………………………………………

__________________ ⅛ S? ⅜⅜ ⅜ ⅜ ⅞

Ok I

Cancel j

W J∣

ε∑zz⅛≡

———- “~~-r —

JBudder E

; Strlavd jbbook, Gettloπ,⅞tαrted StnipteCkMis/5⅛i’4⅛feΓI⅛**.DVrt

Bte &#* 5βath Hew Pnteti Run 1ft⅛ff, Wteriis *⅛βU Wtnao*. HHS

Рис. 23.7. IDE-cpe∂a После Запуска Проекта SimpleClass

D⅛>β-te4 u> ’ P * !kl3⅛al√*Bs’ ‘ *

Krf lsrO, 1 Jp » ⅛tatmptβetess ∣J

SP SimpleClasslpr class SimpleClass

< S «Project Source*

J A

8 ∙¾ SimpIeCIass

⅜ main(Strlng∏ arc) ∣

J-J

Souttn t⅛⅛⅛⅞⅝l.*⅞fi⅝j⅝

F:\jb6∖jdkl.3.1∖bin∖javaw — classpath

"I: ∖SrcJava∖ jbbook\GettingStarted\3iapleClas3;F:\ jb6∖ j<ftl. 3. l∖deao∖jfc∖Java2D∖Javβ2Deao. jar;F: ∖ jb6∖ Jdkl. 3 .1∖ jreUib∖118n. jar;F:\jb6\jdkl.3.1∖jre∖lib∖Jaws. jar;F: ∖ jbβ∖ jdkɪ. 3.1∖ JreUlb∖rt. Заг;Г: ∖ Jb6∖ Jdkl. 3.1∖jre∖l ib∖sunrsβsign. jar ;F:\jb6Yj dkl.3.1∖lib∖dt. jar ;F:\jl^6\jdkl.3. IUiMhtalconverter. jar;F:\jb6\ jdkl.3.1∖lib∖ to оIs. jar" SiapleClass

Hi, ho the wind and the rain

■ Pmt4 ∙

Если вы перейдете в режим командной строки или откроете проводник Windows, то увидите, что все файлы вашего проекта находятся в одном каталоге. Ладно, почти все файлы. Имеется еще и каталог bak, в котором JBuilder хранит резервные копии вашего исходного кода. Но вообще-то JBuilder оформил все в точности так, как сде­лали бы и вы, создавая проект без пакетов с помощью текстового редактора. Един­ственным существенным отличием является то, что JBuilder в дополнение к вашему исходному коду создал JPR — или JPX-файл.

Да, конечно, было непросто объяснить, как импортировать в JBuilder даже са­мый простой проект. Если эта сложность пугает вас, стоит вспомнить о трех моментах:

■ Импортирование проекта в JBuilder становится все проще и проще, каждый раз, когда вы выполняете его. В первый раз вам может понадобиться на это минут десять-пятнадцать. Во второй раз это может занять минут пять. После того как вы выполните импортирование несколько раз, вы сможете завершить весь процесс менее чем за одну минуту. Просто надо привыкнуть к этим инст­рументам.

■ Работа по создания проекта в JBuilder стоит затраченных на нее усилий. Пос­ле того как проект импортирован в JBuilder, вы получите в свое распоряжение все преимущества работы в IDE-среде. Например, вам будет доступны CodeInsight и отладчик, и вы сможете увидеть иерархию своего проекта и все возможные ошибки, находящиеся в коде, в панели структуры.

примечаниеИ, наконец, как я уже упоминал, труднее создать простой проект вроде рас­смотренного выше, нежели создать более сложный элементарный проект JBuilder, о котором пойдет речь в следующей главе.

Далее в этой главе, в разделе "Компиляция из командной строки", я Расскажу, как запустить эту программу из командной строки.

Мастер создания проекта для существующего кода

Как было упомянуто ранее, в JBuilder редакций SE и Enterprise присутствует ин­струмент, называемый Project for Existing Code (Проект для существующего кода). По­пасть в него можно, выбрав пункт меню File ∣ New, затем перейти на страницу Project и выбрать в репозитории объектов вариант Project for Existing Code.

Мастер создания проекта для существующего кода (для краткости ПСК) работа­ет почти так же, как и мастер создания проекта, описанный ранее в этой главе. Единственное реальное отличие состоит в том, что на первой странице мастера ПСК вы можете выбрать каталог, в котором будет находиться ваш проект, а не ката­лог, содержащий подкаталог, в котором будет находиться ваш проект. Это можно вы­разить и по-другому: мастер ПСК считает, что вы уже создали корневой каталог для своего проекта, а мастер создания проекта предполагает, что вы только хотите со­здать корневой каталог вашего проекта.

Все остальные шаги мастера ПСК практически идентичны шагам мастера созда­ния проекта. В частности, вам нужно правильн® задать пути для своего проекта, как показано на рис. 23.2, и затем правильно указать главный класс проекта, как пока­зано на рисунках 23.4, 23.5 и 23.6.

Перемещение проекта

Памятуя о нуждах начинающих программистов, я хочу кратко остановиться на описании, как переместить этот проект (или любой другой проект JBuilder) из од­ного места в другое.

Хотя это поначалу может выглядеть довольно-таки устрашающе, оказывается, что переместить весь проект из одной области жесткого диска в другую достаточно просто. Но я не буду выполнять эту задачу в JBuilder. Вместо этого я закрою JBuilder и перемещу все с помощью проводника Windows или другого аналогичного инстру­мента. Например, вы можете открыть проводник Windows, щелкнуть правой кноп­кой мыши на корневом узле своего проекта и выбрать пункт меню Cut (Вырезать). Теперь найдите на своем жестком диске место, куда вы хотели бы переместить свой проект. Щелкните правой кнопкой мыши в проводнике и выберите пункт Paste (Вставить). Теперь вы можете открыть проект в JBuilder из нового места, и все будет работать нормально. Точно так же вы можете упаковать весь проект программой ар­хивации и отправить его кому-нибудь по электронной почте, а там его можно будет распаковать и загрузить непосредственно в JBuilder.

Кроме того, ваш преподаватель может захотеть увидеть только ваш исходный Java-файл, без JPX-файла, созданных вами файлов классов или файлов в каталоге Bak, Который создал сам JBuilder. В этом случае не стоит особенно беспокоиться. Просто отправьте преподавателю файл SiinpleClass. Java, И он будет самостоятель­ной правильной программой на Java. C файлом не случится ничего плохого, если он просто будет открыт или редактирован с помощью JBuilder.

Создание простого проекта без пакетов

Ранее в этой главе вы смогли открыть в IDE JBuilder существующий проект, не содержащий пакетов. Следующий шаг — создание такого простого проекта в IDE "с нуля". Это процесс, который бы вы выполнили, если бы вы проходили курс Java 101 с использованием JBuilder. Например, вы бы воспользовались этим подходом, если бы требовалось создать с нуля приложение, показанное на рис. 23.1.

Процесс, через который вы сейчас пройдете, очень похож на тот, который опи­сан в одном из предыдущих разделов данной главы. Поэтому здесь я буду давать только краткие пояснения. Если вам нужны подробности, обратитесь к разделу "Простые приложения без пакетов", приведенному ранее в данной главе.

1. Выберите пункт меню File ∣ Close Projects, чтобы закрыть и сохранить всю те­кущую работу.

2. Выберите пункт меню File ∣ New Project. На первой странице мастера создания проекта щелкните на кнопке эллипсиса справа от поля Directory и найдите ка­талог, в котором будет размещаться подкаталог с вашим проектом. Например, если вы хотите, чтобы ваш проект находился в каталоге C:\Srcjava\Javal0L, Вам потребуется найти каталог C:\Srcjava.

3. Введите в поле Name имя каталога, в который вы хотите поместить свой про­ект. Например, если вы ввели в поле Directory каталог C:\srcjava и хотите, что­бы проект находился в каталоге C:\srcjava\Java101, введите в этом поле

460

рис. 23.8. создание проекта для простого приложения jbuilder, не использующего пакетовprojttt wizard - step ɪ of 3

satect name and template fur your new jsumer project,entera name for yam project and the oath to tt>e tflrwtotv where it ∣εtobe saved. you can ftphonal⅛ chooee an odssnq pretoeasetentoiaia for the intttai itefeuttvakies' useoirithle wbsatð,,ngma
dln3ctor.
,i ⅛*t,рис. 23.9. так должна выглядеть вторая страница мастера создания проекта при создании с помощью jbuilderohenb простых java- проектов,⅛m⅛^∙ jjava1.3.1-b24
output psh∣. jjΞ tsrcjavafibboowgewngstartecuj aval 01/
bacteippato;
,e ∕srcjava∕)bboowgewngstarted∕java101
bourcaj
deftuttl tstof path
,9 l 'lctc.l¾a∕∣hun∩v0⅞ttιnq5ta∏p⅛jav⅜l o 1
.⅜ ʌ jj
t⅛j
~ 1
j &»• it
samow j

Javal 01. Оставьте в поле Template значение, предложенное по умолчанию, как показано на рис. 23.8. Щелкните на кнопке Next.

На следующей странице удалите в поле Output Path слово classes и измените ис­ходный путь, чтобы он больше не указывал на каталог src. После этого диалог дол­жен выглядеть так, как показано на рис. 23.9. Щелкните на кнопке Next.

На третьей странице мастера создания проекта ничего менять не нужно.

Теперь вы создали для своего приложения каталог проекта и JPR-файл. Здесь

Можно легко ошибиться. По логике, на этом этапе надо бы выбрать пункт File ∣ New Application. Но тогда мастер создания приложения создаст проект более сложный, чем это необходимо для простой утилиты или для задачи из простого начального курса по Java. Поэтому я предлагаю выбрать пункт File ∣ New Class, а не File ∣ New

Application.

*J

Project Wizard Step 2 of 3

Sp∙ed⅛r pr<s∙cl paths

: fc∙,S⅛⅛ . 3JESsCj2,

В мастере создания класса очистите поле имени Package (Пакет). В поле Class Name (Имя класса) введите BasicJavaApp. Базовым классом должен быть java. lang. Object.

В разделе Options (Опции) отметьте флажки Public (Открытый), Generate main method (Генерировать главный метод) и Generate header comments (генерировать заголовочные комментарии).

После этого диалог должен выглядеть так, как показано на рис. 23.10.

Щелкните на кнопке OK мастера создания класса. Сгенерированный в результате исходный код показан в листинге 23.2.

Листинг 23.2. Автоматически сгенерированный исходный код для очень простого Java— приложения

Public class JavalOl

{

Public static void main (String [] args)

{

System. out. println("Пусть сильнее грянет буря!");

)

1

На этом этапе все, что необходимо — это отредактировать главный метод, чтобы он выглядел так, как в листинге 23.1. Затем выберите пункт меню Project ∣ Project Properties, перейдите на страницу Run и задайте главный класс BasicJavaApp, как было описано раньше.

Ура-ура, вы справились! Вы можете приступить к редактированию и отладке сво­его проекта. Далее в этой главе, в разделе "Компиляция из командной строки", я расскажу, как запускать эту программу из командной строки

рис. 23.10. создание главного класса для простого java-приложения. обратите внимание, что поле package пустое

Создание проекта типа JBuiIder без пакетов

Два последних проекта не содержали пакетов, но все их файлы находились в од­ном каталоге. Как вы, должно быть, знаете, JBuilder по умолчанию так не поступает. Вместо этого JBuilder собирает все исходные файлы в один каталог или иерархию каталогов, а все файлы классов — в другой каталог или иерархию каталогов. По умолчанию исходные файлы хранятся в каталоге Src, А файлы классов — в каталоге

Classes.

В данном разделе я покажу, как создавать проекты JBuilder, которые не имеют пакетов, но все-таки хранят исходные файлы и файлы классов в различный катало­гах. C помощью этой техники вы сможете отделить файлы классов, предназначен­ные для распространения, от исходных Java-файлов, которые вам не хочется или не нужно кому-нибудь передавать. Или же наоборот, вы сможете легко удалить все. class-файлы, не рискуя нечаянно удалить исходные Java-файлы.

Я не собираюсь подробно излагать все шаги этого процесса, поскольку они очень похожи на шаги, уже рассмотренные в данной главе.

Закройте все предыдущие проекты. Начните новый проект, выбрав пункт меню File I New Project. На первой странице мастера создания проекта найдите то место на жестком диске, где вы планируете создать новый каталог. Например, войдите в C:\srcjava. Теперь введите в поле Name название требуемого каталога, как показа­но на рисунках 23.1 и 23.8. Однако теперь назовите создаваемый каталог SimpIeDirs.

На второй странице мастера согласитесь со всеми установками по умолчанию (см. рис. 23.11). В частности, обратите внимание, что в поле Output Path задан ката­лог для классов, а в качестве пути исходных файлов определен каталог src. После этого щелкните на кнопке OK, чтобы создать JPR-файл и каталоги, в которых будет находиться проект.

Properties for ‘SinipIeDirsjpr’

Paths J oeneralj Rwn Debug 1Buildj

" • . ……

lll∏⅞llι.∣l∣⅞.δ..∙.ι⅛l∣r..Nava 1.3.1-Ь24

Outputpath. JEfsrcjavafjbbookfGettingstartedfsimpleDirsfcIasses

Bat⅛p path JETsrcjavafjbbookfGettingStartedfSimpIeDirsfbak

θrhin’∣ ( .βetor⅛ EjsrcjavafjbbookfGettingStartedfSimpIeDirs

source
,i,⅞s.⅞
,Γdst,path,и « 1 etsrcjavafjbbookfgettingstartedfsirripiedirsfsrc
.1
рис. 23.11. диалог свойств проекта, в котором
демонстрируется, как заполнять вторую страницу мастера создания проекта
add..

примечаниеИиаиимвими На рис. 23.11 Присутствует колонка переключателей с общим заголов­ком "Test". Эта опция полезна, если вы хотите применить средство JUnit Для построения Кода, тестирующего приложение или аплет. Этот процесс будет описан в главе 30.

После создания проекта в него необходимо добавить класс. Выберите пункт меню File ∣ New Class и заполните поля в появившемся диалоге так, как показано на рис. 23.12. Самое главное здесь, чтобы при создании класса вы не включили пакет. Для создания класса щелкните на кнопке OK в мастере создания класса.

Теперь необходимо ввести код класса, показанный в листинге 23.3. Этот листинг содержит фрагменты стихотворений Руми, афганского поэта XIII века.

Листинг 23.3. Простая Java-программа, выводящая на консоль стихотворение

Public class AncientPoem

T

Public static void main(String[] args)

{

String S = "He Храните песни!N" +

"И пусть сломаются\п" +

"все флейты.NN" +

"Ведь мы там,\п" +

"где все — музыка.NN...\п" +

"Помолчи.\п" +

"Открой окно своего сердца,\п" +

"и пусть ангелы порхают туда-сюда.NN" +

"Афганский поэт XIII Века Руми.";

System. out. print(S);

1

}

createancnmjawackiss
fitf lnthe aeios below to ⅛etthe oackage name, base class, and otι∣er options for the java class x rtιich will be created
,e? ceneratehpaderrrmnients ~,p, generate default constructor override abstract methods
рис. 23.12.
создание
простого
java-
приложения с одним классом и без пакетов. обратите внимание, что отмечен флажок generate main method (создать главный метод)
class ini √maι on——-
j⅞5 -λ..
!package: ∣
ctast name jftncientpoem daseciass jjavajang object

3 class Wizard

Если вы откроете проводник Windows или любой аналогичный инструмент, то увидите, что ваш проект разделен на четыре основных каталога (см, рис. 23.13).

рис. 23.13. в окне проводника видны основные каталоги, созданные для простого jbuilder-приложения

Ниже приводится назначение четырех основных каталогов проекта:

■ SimpleDirs — это корневой каталог вашего проекта. Он содержит три осталь­ных каталога проекта.

■ Каталог src содержит файл AncientPoem. java.

■ После компиляции проекта каталог classes содержит файл AncientPoen. class.

■ Каталог Ьак Содержит резервные копии исходных файлов. Вы можете увидеть эти файлы на странице History среди закладок просмотра файла.

Если вы хотите работать над проектом совместно с другими разработчиками, вы можете просто передать им файл AncientPoem. java. Поскольку он не находится в пакете, все могут его легко компилировать. То, что мы немного упорядочили этот проект, не изменило сущности созданных исходных файлов. Упорядоченность про­сто помогает организовать работу и помогает лучше понять, как JBuilder создает файлы проекта. Когда вы приступите к созданию более сложных проектов, вы оце­ните преимущество правильной организации приложений.

Пример подобной программы можно найти в сопровождающих книгу материа­лах, В каталоге SinpleDirs.

Компиляция из командной строки

Теперь, когда вы с помощью JBuilder создали несколько простых проектов, воз­можно, вы захотите проверить, что все еще сохраняется возможность компиляции этих проектов из командной строки. Многие считают это необходимым компонен­том разработки в JBuilder Например, если вы изучаете курс Java, ваш преподаватель почти наверняка потребует, чтобы вы компилировали проекты в режиме командной строки. Если вы опытный программист, пишущий утилиты для большой корпора­ции, то вам также необходимо знать, как компилировать и запускать проекты из ко­мандной строки.

Компиляция двух созданных нами проектов очень проста. Вот пакетный файл, с помощью которого вы можете создать и запустить программу SimpleClass, пользу­ясь любым стандартным JDK:

Javac SimpleClass. java java SimpleClass

Чтобы превратить этот файл в сценарий для операционной системы Linux или Solaris, в его начало потребуется лишь добавить строку #» ∕bin∕bash.

Как видите, это в точности тот же самый код, которым бы вы воспользовались для создания программы, если бы создавали ее с помощью редактора emacs или Блокнота. JBuilder не требует перехода на какую-то нестандартную технику про­граммирования. Он лишь предоставляет мощный отладчик и гибкий набор инстру­ментов для создания приложений.

Существуют еще три способа компиляции этого проекта в режиме командной строки.

■ Можно воспользоваться утилитой bej. Ехе Компании Borland, которая делает ТО же, ЧТО И javac. exe.

■ Можно воспользоваться утилитой bmj. exe компании Borland, которая вы­полняет избирательную компиляцию. То есть она компилирует Java-файл в файл класса только тогда, когда. class-файл не существует или устарел. Если. class-файл не устарел, утилита ничего с ним не делает. Это ускоряет время компиляции крупных проектов, содержащих много. java-файлов.

■ Третий способ скомпилировать проект из командной строки — набрать ко­манду JBuilder — build SimpleClass. jpx. Этот способ особенно удобен, если вы начинаете создавать большие проекты, которые трудно компилиро­вать из-за сложной структуры их пакетов.

Возьмем, к примеру, программу AncientPoem из проекта SimpleDirs. В этом проекте все исходные файлы находятся в одном каталоге, а файлы классов — в дру­гом. При компиляции в режиме командной строки вы, конечно, можете перейти в каталог src и скомпилировать его точно так же, как и программу SimpleClass. Но вот предположим, что вам необходимо скомпилировать проект из его корневого ка­талога, и предположим, что вы хотите поместить создаваемые файлы классов в ката­лог class. Это можно сделать с помощью следующего пакетного файла:

Javac — d classes src∖AncientPoem. java java — classpath classes AncientPoem

Этот пакетный файл передает компилятору javac ключ — d, чтобы указать ему, что результат компиляции проекта следует поместить в каталог classes. Второй ар­гумент — файл, который вы хотите скомпилировать.

Если вам нужно выполнить программу, необходимо передать Java. exe директи­ву -classpath, дабы указать место, где находятся ваши. class-файлы. В нашем слу­чае файл класса находится в каталоге classes. Второй аргумент задает главный класс проекта. (В данном случае это единственный класс проекта, однако сие ниче­го не меняет.)

Как вы знаете, существует и другой способ компиляции этого проекта из коман­дной строки: необходимо просто войти в корневой каталог проекта и ввести коман­ду JBuilder — build SiinpleClass. jpr. После компиляции проекта можно запус­тить его с помощью команды java с директивой — classpath.

Очевидно, что команда JBuilder — build является простейшим способом ком­пиляции проектов из командной строки. Тогда почему бы не рассказать только об этом способе и не вспоминать о других вариантах?

примечаниеЯ считаю, что вы Должны использовать команду JBuiider — build всегда, когда это возможно Это действительно наиболее простой способ. Но в этой главе я хочу подчеркнуть, что JBuilder не привязывает вас к какому-то одному варианту. Вы мо­жете создавать свои проекты с помощью JBuilder, а затем компилировать их в режи­ме командной строки, так же, как и все программисты на Java.

Если JBuiIder Не находится в вашем текущем каталоге, вы не сможете так просто запустить его из командной строки. В таких случаях или скопируйте JBuiIder В текущий каталог, или введите полный путь к исполняемому файлу JBuiIder: C:JBuilderBinJbuilder. exe -build SimpleDirs. jpr.

Если при компиляции проекта у вас возникли проблемы, дополнительную отладочную информацию можно получить с помощью команды

C:\JBuilder\bin\jbuilder. exe -build — verbose SimpleDirs. jpr

В этом случае на консоли будет отображена подробная информация о классах, задействованных в вашем проекте.

Размещение нескольких проектов в одном каталоге

примечаниеВ данном разделе я кратко расскажу о том, как поместить несколько приложе­ний в один JBuilder-проект. Это очень простой процесс, и многие читатели навер­няка уже догадались, как это сделать. Но если что-то не понятно, я кратко опишу необходимые шаги в нескольких следующих абзацах.

Я считаю хорошей программисткой привычкой помещение каждого приложения в отдельный каталог. Но если вы создаете очень простые программы срод­ни начальному курсу изучения Java, Или если вы пишете несколько простых утилит режи­ма командной строки, то, возможно, и не стоит помещать все эти приложения в отдель­ные каталоги. На самом деле может оказаться удобным поместить несколько утилит или демонстрационных программ в каталог с названием, скажем, JavalOl Или SystemMaintenanceUtilities. Вообще говоря, если проект содержит более одного исходного файла, то лучше поместить его в свой собственный каталог. Но если у вас пять простых приложений, и каждое состоит из одного файла, то можно собрать все исходные файлы этих приложений в один каталог. (Не пытайтесь поместить более одного прило­жения в один файл. Я имею в виду возможность размещения в одном каталоге только Пяти приложений, каждое из которых состоит из одного файла.)

На этой стадии мне уже вряд ли нужно подробно объяснять, как все это сделать. Просто создайте каталог проекта со своим JPR — или JPX-файлом, как было показано в нескольких предыдущих разделах. Если вам нужно что-нибудь вспомнить, обрати­тесь к рисункам 23.1 или 23.8.

Выберите пункт меню File ∣ New и с помощью мастера создания класса добавьте в этот каталог два новых файла класса. Нужно, чтобы оба они имели главный метод. Назовите первый класс AppIicationOne, а второй — AppIicationTwo. Чтобы не отда­ляться от темы данной главы, не помещайте эти файлы в пакет. Если вы что-то за­были, обратитесь к рисунку 23.10.

Теперь у вас есть один новый файл проекта и один новый каталог. В этом катало­ге находится несколько небольших приложений. Для перехода от одного приложе­ния к другому просто воспользуйтесь пунктом меню Project ∣ Project Properties и пе­рейдите на страницу Run.

В седьмой и старше версиях JBuilder предусмотрена возможность запуска не­скольких проектов из одного JPX-файла. Просто добавьте два элемента в диалоге Runtime configuration (Конфигурация времени выполнения), который показан на рис 23.14. Для этого щелкните на кнопке New и затем найдите нужный вам класс (см. рис. 23.15). После того как вы определите обе конфигурации, вы можете просто от­крыть этот диалог и задать по умолчанию первый или второй проект. Затем закрой­те диалог и щелкните на кнопке Run. Для запуска другого проекта повторите этот процесс, задав на этот раз по умолчанию другую конфигурацию.

Пример такого рода программы входит в состав сопровождающих книгу материа­лов (см. каталог MultiProj).

Запуск из JBuiIder простых демонстрационных программ JDK

У вас, возможно, сложилось впечатление, что JBuilder требует, что для запуска проектов их необходимо организовывать специальным образом. Но это не так. Дабы нагляднее продемонстрировать это, я хочу провести вас через процесс запуска из JBuilder нескольких демонстрационных программ, поставляемых в составе JDK.

рис. 23.14. диалог свойств проекта при рис. 23.15. поиск файла класса. обратите внима-
задании запуска приложения ние, что в списке доступных для выбора файлов
applicationone (а не applicationtho) присутствует и applicationone, и applicationtho

Запуск демонстрационной программы Animator

Программа Animator расположена В каталоге Jdkl.3.1∕demo∕applets (jdkl. 4. l/demo/appiets). Она поставляется в составе большинства версий JDK.

■ Откройте JBuilder и закройте все текущие проекты, выбрав пункт меню File | Close Projects.

■ Выберите пункт меню File ∣ New Project.

■ Щелкните на кнопке эллипсиса (просмотра), которая расположена рядом с полем Directory.

■ Найдите каталог jb∕jdk1.3.1 Zdemo (jbZjdk1.4 1∕demo). Выделите слово applets и щелкните на кнопке OK, как показано на рис. 23.16.

■ На первой странице мастера создания проекта введите в поле Name имя про­екта, который вы хотите выполнить. Как видно на рис. 23.17, это Animator. На рис. 23.16 показано, что он является первым проектом в каталоге с аплетами.

■ Шаги 2 и 3 мастера создания проекта не нужны, поэтому просто щелкните на кнопке Finish.

й
oasrtop
; jll
riome
3j∣ "j * tj
ii л -
v. -j
«isej
project 1; æ
li й ' b∑∙
samtfes 1 ’
⅛ 
«гейта owctor); г

,9 select directof у,й qj ып h-cj demo
; ь cjtocti ⅜ iл animator
,ia^l applets
j jbuiider ■ i⅛j ып
'5 ljcvsextras s ljcvsheiper й cocoon
рис. 23.16.
просмотр каталога jdkl.3. l/demo/applets
s ss
j

I c*∙ 1 Слпса I h⅜⅜ J

рис. 23.17. задание демонстрационного проекта, который необходимо выполнить <t project wizord - slep 1 <rf 3 у

469

■ В JBuilder щелкните на пиктограмме зеленого цвета Add to project (Добавить в проект). Она расположен сразу над именем проекта (см. рис. 23.18). Либо же можно выбрать пункт меню Project ∣ Add Files/Packages (Проект | Добавить файлы/пакеты).

■ Добавьте все HTML-файлы из пакета Animator. После этого IDE-среда долж­на принять вид, как показано на рис. 23.19

© jriitldpr g√∣h6∕jdk1. j v(ipninmpplptszanimfllnfjaiitn)...,file edit search view project run team wizards tools window hel.,рис. 23.18. всплывающая подсказка для кнопки add files to a project, которая выглядит как открытая папка с зеленым плюсом рис. 23.19. ide-среда после добавления в проект html-файлов

Добавленные вами в проект HTML-файлы предназначены для загрузки аплета. Для запуска аплета просто щелкните правой кнопкой мыши на одном из заголовков HTML-файла, показанного на рис. 23 19, и затем в появившемся всплывающем меню (см. рис. 23.20) выберите пункт Run.

Аплет во время выполнения показан на рис. 23.21

Вышеприведенный процесс может показаться несколько сложным, когда вы про­сто читаете о нем. Но когда вы привыкнете, то вполне сможете повторить все это буквально за несколько секунд.

jbuiider 7 g√utιlrties∕∣budder∙'jal.3.j∕derno,∙appu>ts∕anirnat<w - «,fhe edit search view protect run team vrcards loots window hefp,% α © sia∏i^3tor ,,ɪp anirnatorjpx ⅛ 4> «project
•-йяяж
j jft example example
,projectsource*,κj√fsj∕ffιlej∕∕gjutilities∕jbuilder∕idk1.3.1idemo∕a,open in new browser,applet (1.1 j
рис. 23.20. для вызова этого меню щелкните правой кнопкой мыши на каком-то html- файле. для запуска аплета выберите пункт run
⅛j remove fmm project ’example htmΓ rename 'example! htmr
_j new foidei
¾ close projet'ammarar jp*"
delete‘example! htmΓ у runueingctefcults '
⅛j* peftug using defaults <φ opffmiie using oefauff= o∏mjerf∣es
,mewj bdurcel hfstotyj,⅛w<ar>wwwt≠w iroaappwafartrnetortexampieij⅛nl

примечаниеt⅞3applet viewer: arctect,classfs⅛ applet viewer. animatorxlass;o i45 fiflj draw]appletstsrtedрис. 23.22. аплет arctest, запущенный внутри среды jbuilder

470

Запуск аплета ArcTest

Второй демонстрационной программой в каталоге Applets Является аплет AtcTest. Для его запуска выберите пункт меню File ∣ New Project. Найдите каталог jdk1.3.1∕demo∕applets и щелкните на кнопке OK. В поле Name мастера создания про­екта введите ArcTest. При выполнении этих двух шагов вы должны повторить дей­ствия после шагов, показанных на рисунках 23.16 и 23.17.

Щелкните на кнопке Add Files/Packages и добавьте файл example1.html из ката­лога ArcTest, как показано на рисунках 23.18 и 23.19. Теперь щелкните на HTML — файле и в появившемся контекстном меню выберите пункт Run. В результате вы увидите то, что изображено на рис. 23.22.

Можно поступить и по-другому: выберите пункт меню Project ∣ Project Properties и перейдите на страницу Run. Укажите в качестве главного класса один из HTML- файлов. Теперь вы можете запускать проект, выбирая пункт меню Run.

Конечно, важно не то, что вы можете запустить аплет из среды JBuilder. Главное здесь в том, что теперь вы можете пользоваться отладчиком и редактором JBuilder для исследования и модификации демонстрационных программ. Однако сейчас не время обсуждать эти возможности JBuilder.

Сейчас важно то, что можно легко загрузить существующие проекты в IDE JBuilder. Это возможно даже для таких проектов, как эти демонстрационные про­граммы, которые, очевидно, вовсе не были предназначены для запуска из среды JBuilder. Конечно, это простые проекты, но все же должно быть ясно, что JBuilder может открывать и запускать, по сути, любые проекты.

Я провел хронометраж загрузки и выполнения следующего проекта, который находится в каталоге Applets. На все, от самого начала и до запуска аплета, я потратил около 40 Секунд. Сначала я открыл IDE, Затем нашел нужный каталог для созда­ния проекта, добавил в проект соответствующий файл и запустил его. Я уверен, что пос­ле небольшой тренировки вы сможете загру­

Жать и выполнять проекты даже быстрее, чем я.

Опять-таки, суть здесь в том, что (если, конечно, вы знаете, что делать) в JBuiIder Легко создавать И выполнять новые проекты.

Applet started

Рис. 23.21. Аплет, запущенный из IDE-среды JBuilder

Запуск приложений из JDK

Давайте запустим два приложения из JDK. Одно запускается легко, а с другим придется немного повозиться.

Закройте все текущие проекты и приготовьтесь создать новый проект. Выберите пункт меню File ∣ New Project и найдите каталог jb∕jdk1.3.1 ∕demo∕jfc (jb∕jdk1.4.1∕demo∕ jfc), в том же духе, как показано на рис. 23.16. Введите имя одного из приложений, в данном случае — SimpIeExampIe. То, что получилось, показано на рис. 23.23.

Обратите внимание, что после этого в поле каталога находится что-то вроде

G:/compilers/j2sdkl.4/demo/jfc∕SimpleExample

примечаниеЩелкните на кнопке Finish, показанной на рис. 23.23, и затем с помощью кноп­ки Add Files/Packages найдите в каталоге SimpleExample∕src файл SimpIeExampIejava и добавьте его в проект. В IDE щелкните правой кнопкой мыши на этом файле и в появившемся контекстном меню выберите пункт Run. Это очень похоже на то, что изображено на рис. 23.20, но на этот раз нужно щелкнуть на Java-файле, а не на HTML-файле.

Вы можете поинтересоваться: а как сделать так, чтобы в меню отобра­жались все опции? В частности, если вы выбрали файл, который не имеет главного мето­да, не является главным файлом аплета или не представляет собой HTML-оболочку аплета, то в меню пункт Run Будет отсутствовать. В этом случае просто выберите другой файл, И так до тех пор, пока вы не найдете файл, который может быть выполнен.

Если вы имеете дело с JBuilder редакции SE или Enterprise, вы можете воспользо­ваться мастером создания проекта для существующего кода (ПСК), дабы облегчить этот процесс. В JBuilder выберите пункт меню File ∣ New, перейдите на страницу Projects и запустите мастер ПСК. Найдите каталог SimpIeExampIe (см. рис. 23.24).

рис. 23.23.
создание
jbuilder-
проекта для
программы
simpleexample,
поставляемой
с jdk
select name and template tor your new jbufliter project
enter a name ter your project and the path to the directory >≠ere it teto te *avβd you can optionally choose an exisbr¾ project a6 a template ter the initial default values usedtn this wizard.
,narre jsirnpieexampte
oirectory; jc7utilities∕jbuilder∕jdk1.3.iteemofjfcfsimpieexampie
⅛⅛⅜⅛i⅛⅛ιf¾⅞ι⅛⅛fm∣l⅞⅜.h.l⅛t⅛ι⅛⅛∩⅛l.-l.ml∩i⅛r⅞⅞.i⅛⅞bl⅛m∣ιlπιi..⅛..sf
template; j(default project)
,project wizard - step ɪ of 3,♦ , ⅛ ,
i next* i cancel i

type: j⅛Γ3 14

На второй странице диалога можно просто согласиться со значениями по умол­чанию. Это возможно потому, что исходный код действительно находится в катало­ге с именем src. В противном случае потребовалось бы редактировать информацию в этом диалоговом окне.

Теперь выйдите из диалога, откройте в панели проекта узел Project Source, щелк­ните правой кнопкой мыши на SimpleExample. java и в появившемся контекстном меню выберите пункт Run. Вы также можете задать конфигурацию выполнения с помощью страницы Project ∣ Project Properties ∣ Run, как показано на рисунках 23.6 и 23.14.

Из среды JBuilder можно запускать и гораздо более сложные приложения неза­висимых разработчиков, нежели рассмотренные только что демонстрационные про­граммы из JDK. Как я уже говорил, если их можно скомпилировать в командной строке, то их можно скомпилировать и в среде JBuilder. Однако в этой главе мы име­ли дело только с простыми примерами.

Разбор вариантов

Я дал представил в этой главе несколько различных вариантов. Например, я по­казал, как вы можете сначала ввести код в текстовом редакторе, а затем перенести его для отладки в JBuilder. Я также показал, как можно создать проект в JBuilder, но изменить его отношение к пакетам. Я показал, как можно поместить все ваши фай­лы в корневой каталог проекта или сгруппировать исходные файлы в каталоге Src, А файлы классов — в каталоге Classes. Теперь вы должны понимать, что могут суще­ствовать и другие возможные комбинации, такие как размещение исходных файлов проекта в корневом каталоге, а файлов классов — в каталоге Classes, Или переиме­нование каталога Src В Source, И так далее, и так далее, и так далее.

C Project for Existing Code Wir `rd — Step 1 of 3

рис 23.24. импорт проекта в jbuilderc помощью мастера создания проекта для существующего кодаSelect source Orectoiy und name for your new JBuMer pτ⅛ct

Setectthe directory which Is to be rootdfyour new project The next wizard step Will scan Itto provide more Intelligent default choices for path and library assignments. Also enter a name foryourρroject and optionally choose an Oidsting project as a template ter the initial default settings within this wizard.

Directory: jθ√compilers∕j2sdk1 4.0/demo/jfcrSirnpteExample Name: [GimpIeExampIe

“emulate, j(Defeult project) f√ Generate project notes file

Конечно, одна из моих целей — продемонстрировать, что JBuilder является ис­ключительно гибким инструментом, и вы можете практически всегда заставить его работать так, как это необходимо. Вы не привязаны ни к какому жесткому формату.

Какой из перечисленных вариантов лучше — решать вам. Я считаю, что помеще­ние всех файлов в один каталог и даже помещение нескольких приложений в один каталог вполне оправдано, если вы создаете простые проекты. Но если вы начнете работать с более сложными проектами, то лучше будет согласиться с предлагаемой JBuilder по умолчанию организацией использования пакетов и работы с каталогами Src И Classes.

И все же вы должны больше полагаться на свой вкус. Если у вас имеется доста­точно большой опыт программирования, то вы должны самостоятельно выбрать стиль, который уже стал для вас наиболее удобным. Если вы работаете в составе ко­манды разработчиков, то вам необходимо совместно принять единые стандарты. Если вы новичок в Java или вообще в программировании, вам лучше придерживать­ся стиля, предлагаемого JBuilder по умолчанию, особенно если вы начинаете созда­вать более сложные программы.

Почти все создатели JBuilder — великолепные программисты с многолетним опытом работы. Если они решили, что JBuilder будет работать так, а не иначе, то у них наверняка были для этого веские причины. Но пусть их слава не давит на вас. Если у вас имеются веские причины поступать по-другому, то просто сообщите JBuilder, чтобы он выполнял то, что хотите от него вы, а не разработчики этого про­дукта. В конце концов, экспериментирование часто может научить лучше всего.

Резюме

На данном этапе вы уже должны понимать то основное, что нужно знать для компиляции и выполнения простых проектов из командной строки и из IDE-Cpe — ды. Вы также должны быть осведомлены о различных вариантах возможностей, дос­тупных вам через IDE. C помощью JBuilder вы можете конфигурировать проекты практически так, как вам угодно.

В следующей главе я продолжу рассказ о том, как создавать и запускать проекты из JBuilder и из командной строки. Однако программы, рассматриваемые в следую­щей главе, будут более сложными, нежели приведенные в этой главе. В частности, они будут храниться в пакетах, и большая их часть будет ориентированными на GDI-интерфейс. В последующих главах я дойду почти до предела, показав, как ра­ботать со сложными проектами, содержащими множество пакетов и включающих много библиотек, оформленных в виде JAR-файлов.

После того как вы освоитесь с управлением проектами, мы поговорим о распрос­транении приложений. В частности, я расскажу, как распространять ваши приложе­ния или аплеты в виде JAR-файлов.

Чарли Калверт

Глава 24

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *