Core Java 2 Том I Глава 2 |
Среда программирования на языке Java
В этой главе вы научитесь инсталлировать Java Development Kit (JDK), а также компилировать и запускать на выполнение программы различных типов: консольные программы, графические приложения и аплеты.- В этой главе...
- Инсталляция Java Development Kit
- Выбор среды разработки программ
- Использование инструментов, вызываемых из командной строки
- Использование интегрированной среды разработки программ
- Компиляция и запуск программ из текстового редактора
- Выполнение графического приложения
- Создание и запуск аплетов
В этой главе вы научитесь инсталлировать Java Development Kit (JDK), а также компилировать и запускать на выполнение программы различных типов: консольные программы, графические приложения и аплеты. Мы будем использовать средства пакета JDK, набирая команды в окне, предназначенном для работы с оболочкой. Однако многие программисты предпочитают интегрированные среды разработки. Вы узнаете, как использовать широко распространенную интегрированную среду разработки программ для компиляции и выполнения программ, написанных на языке Java. Изучать интегрированные среды разработки программ и пользоваться ими довольно легко, однако они долго загружаются и предъявляют высокие требования к ресурсам компьютера, так что применять их для разработки небольших программ не имеет смысла. В качестве компромисса можно использовать текстовый редактор, из которого вызываются компилятор и интерпретатор языка Java. Овладев приемами, рассмотренными в этой главе, и выбрав инструмент для разработки программ, вы сможете перейти к главе 3, с которой и начинается изучение языка Java.
Инсталляция Java Development Kit
Наиболее полные и современные версии Java 2 Standart Edition (J2SE) реализованы для операционных систем Solaris, Linux и Windows. Версии для Macintosh и многих других платформ лицензированы и поставляются производителями соответствующих систем.
Где найти JDK
Если вам необходимо скопировать на свой компьютер Java Development Kit, вам надо обратиться на Web-страницу Sun и, приложив немалые усилия, чтобы разобраться в терминах, найти требуемое программное обеспечение.
Аббревиатура JDK вам уже знакома. Она, как нетрудно догадаться, означает Java Development Kit. Некоторые трудности может вызвать тот факт, что в версиях 1.2-1.4 пакет называется Java SDK (Software Development Kit). Кое-где вы найдете и привычный термин JDK.
Далее вам надо найти последовательность символов J2SE, которая означает Java 2 Standard Edition. Существуют также J2EE (Java 2 Enterprise Edition) и J2ME (Java 2 Micro Edition).
Термин "Java 2" был введен в 1998 году, когда специалисты компании Sun по маркетингу поняли, что очередной номер реализации никак не отражает глобальных отличий между JDK 1.2 и предыдущими версиями. Но, поскольку такое мнение сформировалось уже после выхода в свет JDK, было решено, что номер версии 1.2 останется за инструментальным пакетом. Последующие реализации JDK имеют номера 1.3, 1.4 и 5.0. Платформа же была переименована из Java в Java 2. Таким образом, последний инструментальный пакет называется Java 2 Standard Edition Development Kit version 5.0, илиJ2SE 5.0.
Для нас, инженеров, эти манипуляции с именами версий выглядят, по меньшей мере, странно. Именно поэтому мы никогда не сможем достичь успеха, в маркетинге.
Если вы используете операционную систему Solaris, Linux или Windows, можете загрузить Java Development Kit, обратившись по адресу http://link.linexp.ru/6011992/https://java.sun.com/j2se. Выберите версию 5.0 или более позднюю реализацию и укажите требуемую платформу.
Время от времени компания Sun выпускает наборы, содержащие, помимо Java Development Kit, интегрированную среду разработки. Это интегрированное окружение в разные периоды времени называлось Forte, Sun ONE Studio, Sun Java Studio и Netbeans. Трудно предугадать, какое имя оно будет носить в тот момент, когда вы обратитесь на Web-узел компании Sun. На данном этапе нам нужен только Java Development Kit. Если впоследствии вы решите поработать с интегрированной средой разработки, то сможете скопировать ее с сервера http://link.linexp.ru/6011992/https://netbeans.org
После того как JDK окажется на вашем компьютере, следуйте инструкциям по инсталляции для вашей платформы. На момент написания данной книги инструкции были представлены в документе http://link.linexp.ru/6011992/https://java.sun.com/j2se/5.0/install.html
От конкретной системы зависит только процесс инсталляции и компиляции. После того как вы убедились в работоспособности Java, вы сможете непосредственно выполнять рекомендации, приведенные в данной книге. Независимость от операционной системы является одним из главных преимуществ Java перед многими другими языками.
Процедура инсталляции предлагает по умолчанию имя каталога для установки JDK. В имя каталога входит номер версии, например jdks.o. Это может показаться не столь важным, но данный подход упрощает работу с новыми версиями JDK, установленными для проверки.
Если вы работаете в системе Windows, мы рекомендуем не принимать предлагаемый каталог. Обычно это c:\Program Files\jdk5.0. По крайней мере, откажитесь от Program Files и разместите пакет в другой позиции файловой системы.
В данной книге мы используем для ссылки на каталог, содержащий Java Development Kit, имя jdk. Например, если в тексте указано имя jdk/Ып, значит, речь идет о каталоге /usr/local/jdk5.0/bin или с:\jdk5.0\bin.
Установка пути к исполняемым файлам
После инсталляции JDK вам нужно сделать еще один шаг: добавить имя каталога jdk/bin в список путей, по которым операционная система ищет исполняемые файлы. В различных системах это действие выполняется по-разному.
- В системе Unix (включая Solaris и Linux) процедура редактирования путей к выполняемым файлам зависит от используемой оболочки. В случае С shell {эта оболочка принимается на платформе Solaris по умолчанию) добавьте в конец файла ~/.bashrc следующую строку:
. set path=(/usr/local/jdk/bin $path)
- Если вы работаете с оболочкой Bourne Again (она принимается по умолчанию на платформе Linux), добавьте в конец файла ~/.bashrc или ~/.bash_profile строку, приведенную ниже.
export PATH=/usr/local/jdk/bin:$РАТН
- Для других оболочек системы Unix нужно найти способ выполнить аналогичную процедуру.
- На платформе Windows 95/98/Ме добавьте строку, приведенную ниже, в файл AUTOEXEC.ВАТ:
SET PATH=C:\jdk\bin;%PATH%
- Заметьте, что вокруг знака равенства нет пробелов. Чтобы эффект от включения этой строки проявился, нужно перезагрузить компьютер.
- На платформе Windows NT/2000 откройте панель управления, выберите пиктограмму System, а затем вкладку Environment. Прокрутите содержимое окна User Variables, пока не найдете переменную PATH. Добавьте имя каталога jdk/bin в начало списка; новый элемент списка отделяется от уже существующих точкой с запятой, например:
c:\jdk\bin; остальное
- Сохраните выполненные установки. В любом новом консольном окне заданный путь будет использоваться для поиска выполняемых файлов.
Правильность установок можно проверить следующим образом.
Откройте окно оболочки. Как вы это сделаете, зависит от операционной системы. Введите следующую строку:
java -version
Нажмите клавишу <Enter>. На экране должно появиться следующее сообщение: java version "5.0"
Java (TM) 2 Runtime Environment, Standard Edition Java HotSpot (TM) Client vm
Если вместо этого сообщения появится строка наподобие "java:command not found", "Bad command or file name" или "The name specified is nor recognized as an internal or external command, operable program or batch file", нужно еще раз проверить, правильно ли выполнена инсталляция и установлен путь.
Инсталляция библиотек и документации
Библиотечные файлы поставляются в пакете JDK в виде архива src. zip. Вам следует распаковать этот файл, чтобы получить доступ к исходным текстам программ. Мы настоятельно рекомендуем сделать это. Выполните перечисленные ниже, действия.
1. Убедитесь, что пакетJDKустановлен, а имя каталога jdk/bin находится в списке путей к выполняемым файлам.
2. Откройте окно для ввода команд оболочки.
3. Перейдите в каталог^ {т.е. в каталог /usr/local/ jdk5 . О или С: / jdk5.0).
4. Создайте подкаталог s г с.
mkdir src cd src
5. Выполните следующую команду:
jar xvf ../src.jar (или, если вы работаете в системе Windows, jar xvf . Л src . zip).
Файл src.zip содержит исходные тексты всех общедоступных библиотек. Чтобы получить дополнительные исходные тексты (компилятора, виртуальной машины, плат-форменно-ориентированных методов и вспомогательных классов), посетите Web-страницу https: //www.sun.com/software/communitysource/java2
Документация содержится в отдельном архиве, который может иметь различные расширения (.zip, .gz и .z). Ее можно скопировать с Web-страницы http://link.linexp.ru/6011992/https:// java.sun.com/docs. Выберите тот формат архива, который вам подходит. Если сомневаетесь, остановитесь на формате .zip, поскольку такой файл можно распаковать с помощью программы j аг, входящей в пакет JDK. Если вы решили использовать программу jar, выполните следующие действия.
1. Убедитесь, что пакет JDK установлен правильно, а имя каталога jdk/bin находится в списке путей к выполняемым файлам.
2. Скопируйте файл с расширением .zip, содержащий документацию, на свой компьютер и поместите его в каталог jdk. Файл с документацией называется j2sdk<версия>-doc . zip, где вместо слова версия указан конкретный номер реализации, например 5_0.
3. Откройте окно для ввода команд.
4. Перейдите в каталогjrffc.
5. Выполните следующую команду:
jar xvf j2sdk<версия>-doc. zip Здесь, как и ранее, версия означает номер реализации.
Установка примеров программ
В процессе работы вам, вероятно, понадобятся примеры программ, приведенные в книге. Вы можете найти их на Web-странице http://link.linexp.ru/6011992/https://www.phptr.com/corejava. Программы хранятся в архиве corejava. zip, который нужно распаковать в отдельный каталог, — мы рекомендуем назвать его CoreJavaBook. Для распаковки можно применять любую утилиту, позволяющую работать с zip-файлами, например программу WinZip (которую можно найти по адресу http://link.linexp.ru/6011992/https://www.winzip.com), либо использовать утилиту jаг, входящую в состав JDK. Если вы решили использовать программу jаг, выполните следующие действия.
1. Убедитесь, что пакет JDK установлен правильно, а каталог jdk/Ып находится в списке путей к выполняемым файлам.
2. Создайте каталог CoreJavaBook.
3. Скопируйте файл core j ava. zip в этот каталог.
4. Откройте окно для ввода команд.
5. Перейдите в каталог CoreJavaBook.
6. Выполните следующую команду:
jar xvf corejava.zip
Навигация по каталогам
Изучая язык Java, вы, вероятно, захотите просмотреть исходные тексты программ. Кроме того, вам, без сомнения, придется интенсивно работать с документацией. В табл. 2.1 показано дерево каталогов, относящихся к языку Java. Схема этих каталогов может измениться, если вы работаете в интегрированной среде разработки программ, а имя корневого каталога зависит от номера инсталлированной версии.
Таблица 2.1. Дерево каталогов JDK
jdk (Имя может быть другим, например jdk5 .0)
Структура каталогов | Описание |
---|---|
bin | Компилятор и другие инструментальные средства |
demo | Демонстрационные программы |
docs | Библиотечная документация в формате HTML (после распаковки архива j2sdk<версия>-doc.zip) |
include | Файлы для создания платформенно-ориентированных методов (см. том 2) |
jre | Файлы для организации среды выполнения Java-программ |
lib | Библиотеки |
src | Исходные тексты библиотек (после распаковки файла src.jar) |
Для начинающих разработчиков, только приступающих к изучению языка Java, наиболее важными среди каталогов, приведенных в табл. 2.1, являются docs и src. Каталог docs содержит документацию о библиотеках Java в формате HTML. Их можно просматривать с помощью Web-браузера, например Netscape Navigator.
Установите в вашем браузере закладку на локальную версию файла does/api/index.html. При изучении языка Java вам придется не раз обращаться к этой странице.
Каталог src содержит исходные тексты программ, находящихся в общедоступных библиотеках Java. Освоившись с языком, вы можете оказаться в ситуации, когда ни информация из глобальной сети, нй эта книга не помогут вам решить вашу проблему. В этом случае воспользуйтесь исходными кодами. По исходным текстам вы всегда сможете понять, что именно делает та или иная библиотечная функция. Например, если вы интересуетесь, как работает класс System, загляните в файл src/java/lang/System.java.
Выбор среды разработки программ
Если раньше вы программировали на языке Visual Basic или Visual С++, значит, вы уже знакомы со средой разработки, содержащей встроенный текстовый редактор, меню для компиляции и запуска программ, а также отладчик. Пакет JDK не имеет никаких средств, даже отдаленно напоминающих интегрированную среду разработки программ. Все команды выполняются в командной строке. Мы рассказываем, как инсталлировать и использовать пакет JDK, поскольку считаем, что развитая среда разработки далеко не обязательно облегчает процесс изучения языка; она может скрывать некоторые важные детали, представляющие интерес для программиста.
Интегрированные среды разработки программ не совсем удобны для написания простых программ, поскольку они работают медленно, потребляют большой объем ресурсов и, работая с ними, приходится устанавливать переменные окружения для каждой вновь создаваемой программы. Интегрированные среды полезны, если вы разрабатываете большой проект, состоящий из многих файлов. Кроме того, в состав этих сред входит отладчик, крайне необходимый при разработке серьезных программ (отладчик, работающий в режиме командной строки, поставляемый в составе JDK, крайне неудобно использовать). Мы покажем, как работать с программой Eclipse, представляющей собой свободно распространяемую среду разработки, которая сама написана на языке Java. Разумеется, если у вас уже есть среда разработки программ, например NetBeans или JBuilder, поддерживающая текущую версию языка Java, вы можете смело использовать ее при рассмотрении примеров из этой книги.
Для простых программ удобно использовать нечто среднее между работой в режиме командной строки и интегрированной средой разработки, а именно: текстовый редактор, интегрированный с пакетом JDK. На платформе Linux для этой цели можно использовать текстовый редактор Emacs. Под управлением операционной системы Windows удобна программа TextPad — прекрасный, свободно распространяемый редактор программ для среды Windows, хорошо интегрируемый со средствами Java. Тем же, кого интересуют кроссплатформенные инструменты, можно посоветовать JEdit. Используя текстовый редактор, интегрированный с JDK, можно легко и быстро создавать программы на языке Java. Большинство программ, приведенных в этой книге, разработано именно так. Поскольку компилировать и выполнять программы можно, не выходя из текстового редактора, то он фактически формирует простую интегрированную среду.
Итак, у вас есть три варианта дальнейшей работы.
- Использовать набор инструментальных средств JDK вместе со своим любимым текстовым редактором. Компиляция и запуск программы на выполнение в этом случае производится из командной строки.
- Использовать интегрированную среду разработки программ, например Eclipse, либо другой свободно распространяемый или коммерческий продукт.
- Использовать JDK и текстовый редактор, интегрированный вместе с этим пакетом. Такую возможность предоставляют Emacs, TextPad, JEdit и многие другие подобные приложения. В этом случае компиляция и запуск на выполнение программ производятся внутри редактора.
Использование инструментов, вызываемых из командной строки
Начнем работать в самом сложном режиме: будем вызывать компилятор и запускать программы на выполнение из командной строки.
Откройте окно для ввода команд и перейдите в каталог CoreJavaBook/vlch2 / Welcome. (Если вы помните, каталог CoreJavaBook был специально создан для хранения кодов примеров из данной книги.)
Введите следующие команды:
javac Welcome.java java Welcome
На экране должно появиться сообщение, показанное на рис.2.1.
Рис. 2.1. Компиляция и выполнение программы Welcome .java
В системе Windows режим командной строки реализуется в окне DOS. Для того чтобы открыть это окно, надо выбрать в главном меню системы пункт Run. Если вы работаете с Windows NT/2000/XP, введите cmd; в противном случае вам надо задать command. Нажмите клавишу <Enter>, и требуемое окно появится на экране. Если вы никогда не работали в таком режиме, мы рекомендовали бы вам обратиться к специальному руководству. Подобные руководства публикуют в Web факультеты компьютерных наук многих учебных заведений. В частности, вы можете воспользоваться документом http://link.linexp.ru/6011992/https://www.es.sjsu.edu/faculty/horstman/CS46A/windows/tutorial.html.
Примите наши поздравления! Вы только что в первый раз скомпилировали и выполнили программу на языке Java.
Что же произошло? Программа javaс — это компилятор языка Java. Она скомпилировала файл Welcome, java и преобразовала его в файл Welcome.class. Программа java — это интерпретатор языка Java. Он интерпретирует байтовые коды, которые компилятор записал в файл с расширением .class.
Если ВЬ| получили сообщение об ошибке, указывающее на приведенную ниже строку, то, вероятнее всего, используете старую версию компилятора Java. В JDK 5.0 язык был дополнен новыми возможностями, и мы воспользуемся их преимуществами.
for (String g : greeting)
Если вы все же хотите продолжать работу со старой версией Java, вам надо переписать цикл следующим образом:
for (int i = 0; i < greeting.length; System.out.printIn(greeting[i]);
В данной книге мы всегда будем использовать средства из JDK 5.0. Их можно без труда преобразовать в выражения для более старых версий. Необходимая для этого информация приведена в приложении Б.
Программа Welcome чрезвычайно проста и лишь выводит сообщение на экран. Текст этой программы представлен в листинге 2.1. Подробнее мы рассмотрим эту программу в следующей главе.
Листинг 2.1. Содержимое файла welcome. Java
/**
@version 1.11 2000-04-22
@author Cay Horstmann
*/
public class Welcome
{
public static void main(String[] args)
{
String[] greeting = new String[3];
greeting[0] = "Welcome to Core Java";
greeting[1] = "by Cay Horstmann";
greeting[2] = "and Gary Cornell";
for (int i = 0; i < greeting.length; i++)
System.out.println(greeting[i]);
}
}
Возможные ошибки
В эпоху визуальных сред разработки программ многие программисты не умеют работать в режиме командной строки. Такое неумение чревато ошибками. Работая с командной строкой, надо учитывать следующее.
- Если вы вводите программу вручную, внимательно следите за употреблением прописных и строчных букв. В частности, в рассмотренном выше примере имя класса — Welcome, а не welcome или WELCOME.
- Компилятор требует указывать имя файла, в данном случае Welcome .java. Интерпретатору требуется имя класса, в данном случае это Welcome, без расширения .javaили .class.
- Если вы получили сообщение "Bad command or file name" или "javac: command not found", проверьте, правильно ли выполнена инсталляция, в частности, верно ли указаны пути к выполняемым файлам.
- Если компилятор javac выдал сообщение "cannot read: Welcome. java", нужно проверить, имеется ли файл в соответствующем каталоге.
При работе под управлением операционной системы Unix проверьте, правильно ли использованы прописные буквы в имени файла Welcome .java. При работе в среде Windows просматривайте содержимое каталогов с помощью команды dir. Некоторые текстовые редакторы (в частности, Notepad) сохраняют текст в файлах с расширением . txt. Если вы используете эту программу для редактирования файла Welcome. j ava, она сохранит его под именем Welcome, java.txt. По умолчанию в среде Windows программа Explorer скрывает расширение - txt, поскольку оно предполагается по умолчанию. В этом случае нужно переименовать файл, пользуясь командой г en, либо повторно сохранить его, указав имя в кавычках, например "Welcome .java".
- Если компилятор java выдал сообщение об ошибке java.lang'. NoClassDef FoundError, проверьте, правильно ли вы указали имя файла.
- Если компилятору не подходит имя welcome (начинающееся со строчной буквы), повторно выполните команду java Welcome, написав имя с прописной буквы W. В языке Java учитывается регистр символов.
- Если интерпретатор выдает сообщение об ошибке, в котором фигурирует имя Welcome/ java, значит, вы случайно ввели команду java Welcome. java. Задайте java Welcome.
- Если вы задали имя Welcome, а виртуальная машина не может найти класс с этим именем, значит, у вас неверно установлены пути к классам. Для простых программ лучше всего отменить установки переменной окружения CLASSPATH. Сделать это можно с помощью приведенной ниже команды.
set CLASSPATH=
Данная программа работает в Windows, а также в Unix/Linux с оболочкой С. Если в Unix/Linux применяется оболочка Bourne/bash, надо использовать следующее выражение:
export CLASSPATH=
Подробно об установке путей к классам речь пойдет в главе 4.
- Если сообщение об ошибках касается новых языковых конструкций, это значит, что ваш компилятор не поддерживает JDK 5.0. Если вы по каким-то причинам не можете использовать JDK 5.0 или более поздние версии, следует изменить исходный код. Необходимая для этого информация приведена в приложении Б.
- Если в вашей программе слишком много ошибок, то все сообщения о них мелькают на экране очень быстро. Компилятор j ava выводит подобные сообщения в стандартный поток ошибок, и если информация занимает больше одного экрана, то ее желательно записать в файл.
При работе на платформе Unix или Windows NT/2000/XP это не представляет большой сложности. Для. этого можно использовать конструкцию, подобную приведенной ниже.
javac MyProg.java 2> errors.txt
При работе под управлением операционной системы Windows 95, находясь в режиме командной строки, невозможно перенаправить стандартный поток ошибок. В этом случае вы можете загрузить программу err out с Web-страницы https: //www. horstmaim. с от/с ore java/faq.html и выполнить команду errout j avac Myprog.j ava > errors.txt
Превосходное учебное пособие приведено на Web-странице http://link.linexp.ru/6011992/https://java.sun.com.docs/books/tutorial/getStarted/cupojava В нем подробно описываются проблемы, с которыми сталкиваются начинающие программисты.
Использование интегрированной среды разработки программ
В этом разделе мы покажем, как скомпилировать программу в интегрированной среде Eclipse. Данный продукт распространяется свободно; вы можете скопировать его с Web-страницы http://link.linexp.ru/6011992/https://eclipse.org. Программа Eclipse написана на языке Java, но вследствие применения нестандартных библиотек для работы с окнами переносимость ее ограничена. Тем не менее существуют версии Eclipse для операционных систем Linux, Mac OS X, Soilaris и Windows.
После запуска Eclipse активизируйте пункт меню File^New Project и выберите Java Project в диалоговом окне инструмента типа "мастер" (рис. 2.2). На данном рисунке показан продукт Eclipse 3.0М8. В вашей версии Eclipse окно может несколько отличаться.
Щелкните на кнопке Next Укажите имя проекта Welcome и введите полный путь к каталогу, содержащему файл Welcome.java (рис. 2.3). Отмените опцию Create project in workspace и щелкните на кнопке Finish.
В результате выполненных действий вы создали новый проект. Щелкните на треугольном маркере, соответствующем окну проекта, а затем на маркере рядом с пунктом Default package. Дважды щелкните на Welcome.java. На экране отобразится окно с кодом программы, показанное на рис. 2.4.
Щелкните правой кнопкой мыши в левой панели на имени проекта (Welcome). В появившемся контекстном меню выберите пункт Build Project. В результате ваша программа будет скомпилирована. Если при компиляции не возникло ошибок, выберите пункт меню Run -- Run As -- Java Application. В нижней части окна появится панель для отображения выходных данных, на которой будут выведены результаты выполнения программы (рис. 2.5).
Файл:Рис.2.2.png
Рис. 2.2. Диалоговое окно Eclipse, предназначенное для создания проекта
Рис. 2.3. Настройка проекта Eclipse
Рис. 2.4. Редактирование исходного кода при работе с Eclipse
Рис. 2.5. Выполнение программы в среде Eclipse
Сообщения об ошибках компиляции
Поскольку программа состоит из нескольких строк, вряд ли в ней есть ошибка Или даже опечатка. Но для того, чтобы продемонстрировать обработку ошибок, предположим, что в имени String вместо прописной буквы вы указали строчную:
public static void main(string[] args)
Снова попытайтесь скомпилировать программу. Вы получите сообщение об ошибке, которое информирует вас о том, что вы использовали неизвестный тип string (рис. 2.6). Щелкните на сообщении. Курсор перейдет на соответствующую строку в окне редактирования, и вы сможете быстро исправить ошибку.
Рис. 2.6. Сообщение об ошибке, отображаемое в среде Eclipse
Таким образом, на простом примере вы получили представление о работе в среде Eclipse. Отладчик Eclipse будет рассмотрен в главе 11.
Комииляция и запуск программ из текстового редактора
Интегрированная среда разработки программ предоставляет программистам много полезных возможностей, однако у нее есть и недостатки. В частности, для простых программ, исходный текст которых содержится в одном файле, среда разработки с обилием медленно загружающихся инструментов явно избыточна. К счастью, многие текстовые редакторы позволяют запускать компилятор и интерпретатор языка Java, а также просматривать сообщения об ошибках и результаты работы программ. В этом разделе в качестве типичного примера мы рассмотрим текстовый редактор Emacs.
Emacs — это превосходный текстовый редактор, способный работать с Unix, Linux, Windows и Mac OS X. Однако многие программисты, использующие Windows, считают, что изучать его довольно сложно. Таким программистам мы можем порекомендовать текстовый редактор TextPad. В отличие от Emacs, TextPad соответствует стандартам системы Windows. Информацию об этом редакторе и саму программу можно найти на Web-странице http://link.linexp.ru/6011992/https://www.textpad.com. Заметим, что редактор TextPad относится к условно бесплатным программам. По истечении оговоренного срока вам придется заплатить за него. (Будучи пользователями этого продукта, мы не имеем никакого отношения к его производителям.)
Помимо упомянутых выше редакторов, мы можем предложить jEdit — свободно распространяемую программу, написанную на Java. Этот редактор можно скопировать, обратившись по адресу https: / /jedit.org. Независимо от того, выберете ли вы Emacs, TextPad, JEdit или другой редактор, основные принципы работы остаются неизменными. Закончив редактировать исходный код, можно вызывать компилятор. Редактор корректно запустит программу компиляции и предоставит вам сообщения об ошибках. Устранив ошибки, повторите компиляцию, после чего вы сможете запустить программу на выполнение.
На рис. 2.7 показан принцип компиляции Java-программы с помощью редактора Emacs. Для запуска компилятора надо выбрать пункт меню JDE - Compile.
Рис. 2.7. Вызов компилятора из редактора Emacs
Текстовый редактор Emacs, созданный в рамках проекта GNU, можно загрузить с Web-страницы http://link.linexp.ru/6011992/https://www.gnu.org/software/emacs/. Версию этого редактора для операционной системы Windows можно найти по адресу http://link.linexp.ru/6011992/https://www.gnu.org/software/emacs/windows/ntemacs.html. Используя текстовый редактор Emacs, убедитесь, что на вашем компьютере инсталлирован продукт JDEE. Его можно скопировать с Web-страницы http://link.linexp.ru/6011992/https://jdee.sunsite.dk. Для работы со средствами JDK 5.0 вам понадобится JDEE2.4.3beta1.
Сообщения об ошибках отображаются в нижней части окна. Если вы поместите курсор на сообщение и нажмете клавишу <Enter>, курсор переместится на соответствующую строку исходного кода.
После устранения ошибок вы можете запустить программу, выбрав пункт меню JDE^Run Арр. Данные, генерируемые в процессе выполнения программы, отображаются в окне редактора (рис. 2.8).
Рис. 2.8. Запуск программы из редактора Emacs
Выполнение графического приложения
Программа Welcome не поражает воображение. Перейдем теперь к графическому приложению. Это приложение представляет собой очень простую программу, которая выводит на экран изображение из файла. Как и прежде, скомпилируем и выполним это приложение в режиме командной строки.
1. Откройте окно для ввода команд.
2. Перейдите в катадог CoreJavaBock/vlch2 / ImageViewer.
3. Введите следующие команды:
j avac ImageVi ewer.j ava java ImageViewer
На экране появится новое окно приложения ImageViewer (рис. 2.9).
Выберите пункт меню FileOOpen и найдите файл с расширением . gif, который вы хотите открыть. (Мы поместили в каталог, в котором находится программа, несколько графических файлов.)
Рис. 2.9. Окно выполняющегося приложения ImageViewer
Чтобы завершить выполнение программы, щелкните на кнопке Close в строке заголовка или откройте системное меню и закройте программу. (Чтобы скомпилировать и выполнить эту программу в текстовом редакторе или интегрированной среде, нужно сделать то же, что и прежде. Например, при работе с текстовым редактором Emacs выберите пункт меню JDE - Compile, а затем JDE - Run Арр.)
Мы надеемся, что эта программа будет для вас интересной и полезной. Рассмотрим ее исходный текст. Эта программа существенно длиннее, чем первая, однако она не слишком сложна, особенно если представить себе, сколько строк кода на языке С или С++ нужно было бы написать, чтобы достичь того же эффекта. Конечно, на языке Visual Basic такую программу написать совсем легко, для этого достаточно перетащить несколько компонентов с помощью мыши и добавить несколько строк, чтобы код стал функциональным. В пакет JDK не входит инструмент для создания интерфейса, поэтому для всех элементов нужно писать соответствующий код, как показано в листинге 2.2. Написанию подобных программ посвящены главы 7-9.
Листинг 2.2. Содержимое файла ImageViewer .java
/**
@version 1.21 2002-06-19
@author Cay Horstmann
*/
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
/**
A program for viewing images.
*/
public class ImageViewer
{
public static void main(String[] args)
{
JFrame frame = new ImageViewerFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
}
}
/**
A frame with a label to show an image.
*/
class ImageViewerFrame extends JFrame
{
public ImageViewerFrame()
{
setTitle("ImageViewer");
setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
// use a label to display the images
label = new JLabel();
Container contentPane = getContentPane();
contentPane.add(label);
// set up the file chooser
chooser = new JFileChooser();
chooser.setCurrentDirectory(new File("."));
// set up the menu bar
JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);
JMenu menu = new JMenu("File");
menuBar.add(menu);
JMenuItem openItem = new JMenuItem("Open");
menu.add(openItem);
openItem.addActionListener(new
ActionListener()
{
public void actionPerformed(ActionEvent evt)
{
// show file chooser dialog
int r = chooser.showOpenDialog(null);
// if file selected, set it as icon of the label
if(r == JFileChooser.APPROVE_OPTION)
{
String name
= chooser.getSelectedFile().getPath();
label.setIcon(new ImageIcon(name));
}
}
});
JMenuItem exitItem = new JMenuItem("Exit");
menu.add(exitItem);
exitItem.addActionListener(new
ActionListener()
{
public void actionPerformed(ActionEvent event)
{
System.exit(0);
}
});
}
private JLabel label;
private JFileChooser chooser;
private static final int DEFAULT_WIDTH = 300;
private static final int DEFAULT_HEIGHT = 400;
}
Создание и запуск аплетов
Первые два примера, представленные в этой книге, — это приложения, написанные на языке Java, т.е независимые программы, аналогичные обычным платформенно-ориентированным продуктам. С другой стороны, как упоминалось в предыдущей главе, всеобщий интерес к языку Java был вызван в основном его возможностями выполнять аплеты под управлением Web-браузеров. В данном разделе мы рассмотрим создание и выполнение аплета в режиме командной строки. Затем мы загрузим этот аплет в специальную программу просмотра (appletviewer), входящую в состав пакета JDK. В завершение мы отобразим его в окне Web-браузера.
Перейдите в каталог CoreJavaBook/vlch2/WelcomeApplet, а затем введите следующие команды:
javac WelcomeApplet.java appletviewer WelcomeApplet.html
Внешний вид окна программы для просмотра аплетов показан на рис. 2.10.
Первая команда нам уже знакома — она вызывает компилятор языка Java. В процессе компиляции исходный текст аплета, содержащийся в файле WelcomeApplet.java, преобразуется в байтовый код, который помещается в файл WelcomeApplet. class.
Однако на этот раз мы не запускаем программу java. Вместо этого мы пользуемся appletviewer. Эта программа специально предназначена для быстрого тестирования аплетов и входит в пакет JDK. Исходными данными для appletviewer является файл в формате HTML. Содержимое файла WelcomeApplet. html показано в листинге 2.3.
Рис. 2.10. Аплет WelcomeApplet, отображающийся в окне appletviewer
Листинг 2.3. Содержимое файла WelcomeApplet .html
<html>
<title>WelcomeApplet</title>
<body>
<hr>
<p>
This applet is from the book
<a href="http://link.linexp.ru/6011992/https://www.horstmann.com/corejava.html">
Core Java</a> by <em>Cay Horstmann</em> and
<em>Gary Cornell</em>,published by Sun Microsystems Press.
</p>
<applet code="WelcomeApplet.class" width="400" height="200">
<param name="greeting" value ="Welcome to Core Java!"/>
</applet>
<hr>
<p><a href="WelcomeApplet.java">The source.</a></p>
</body>
</html>
Если вы знаете язык HTML, то заметите некоторые стандартные конструкции и дескриптор <applet>, который указывает программе просмотра, что необходимо загрузить аплет, код которого содержится в файле WelcomeApplet .class. Программа appletviewer игнорирует все выражения HTML, за исключением дескриптора <applet>.
Другие дескрипторы языка HTML обрабатываются в том случае, если вы просматриваете документ с помощью браузера, поддерживающего Java 2. Однако при работе с браузерами не исключены проблемы.
• Mozilla (а также Netscape 6 и более поздние версии) поддерживают Java 2 в системах Windows, Linux и Mac OS X. Если вы хотите поэкспериментировать с ап-летами, вам надо выбрать последнюю версию браузера и убедиться, что она поддерживает Java.
• Некоторые версии браузера Internet Explorer вообще не поддерживают язык Java. Другие версии поддерживают лишь очень старую виртуальную машину Java компании Microsoft. Если вы работаете с браузером Internet Explorer под управлением операционной системы Windows, обратитесь по адресу http://link.linexp.ru/6011992/https://java.com и установите Java Plug-In.
• На платформе Macintosh под управлением OS X возможности языка Java уже интегрированы в браузер Internet Explorer. В частности, на момент написания книги этот браузер обеспечивает возможности J2SE версии 1.4. Система OS 9 поддерживает лишь устаревшую версию 1.1.
Убедившись, что ваш браузер поддерживает Java 2, попробуйте загрузить в него аплет. Для этого выполните следующее.
1. Запустите браузер.
2. Выберите пункт меню File^Open File (или откройте файл другим способом).
3. Перейдите в каталог CoreJavaBook/vlch2 /WelcomeApplet.
В диалоговом окне выберите файл WelcomeApplet .html. Браузер загрузит аплет, а также текст документа. Web-страница будет выглядеть приблизительно так, как показано на рис. 2.11.
Нетрудно заметить, что это приложение действительно интерактивно и взаимодействует с Internet. Щелкните на кнопке Cay Horstmann, и на экране отобразится страница Кея Хорстманна. Щелкните на кнопке Gary Cornell. Аплет откроет окно для ввода электронной почты, в котором уже указан адрес Гари Корнелла.
Рис. 2.11. Просмотр аплета WelcomeApplet с помощью браузера
Заметьте, что ни одна из этих кнопок не будет работать с программой просмотра аплетов. Эта программа не может посылать почту или отображать на экране Web-страницу, поэтому она попросту игнорирует соответствующие запросы. Программа просмотра аплетов хороша для тестирования независимых аплетов, однако для проверки реального взаимодействия аплета по сети с другими программами следует выполнить его в среде, реализуемой браузером.
Аплет можно запустить из текстового редактора или интегрированной среды разработки. При работе с редактором Emacs выберите пункт меню JDE-Run Applet. Работая с Eclipse, выберите пункт Run-Run as-Java Applet.
Код аплета Welcome показан в листинге 2.4. В данный момент его нужно лишь бегло просмотреть. К созданию аплетов мы еще вернемся в главе 10.
Итак, мы рассмотрели механизмы компиляции и запуска программ, написанных на языке Java. Теперь мы готовы перейти к главе 3, в которой приступим к изучению языка Java.
Листинг 2.4. Содержимое файла WelcomeApplet.java
/**
@version 1.21 2002-06-19
@author Cay Horstmann
*/
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
public class WelcomeApplet extends JApplet
{
public void init()
{
Container contentPane = getContentPane();
contentPane.setLayout(new BorderLayout());
JLabel label = new JLabel(getParameter("greeting"),
SwingConstants.CENTER);
label.setFont(new Font("Serif", Font.BOLD, 18));
contentPane.add(label, BorderLayout.CENTER);
JPanel panel = new JPanel();
JButton cayButton = new JButton("Cay Horstmann");
cayButton.addActionListener(makeURLActionListener(
"http://link.linexp.ru/6011992/https://www.horstmann.com"));
panel.add(cayButton);
JButton garyButton = new JButton("Gary Cornell");
garyButton.addActionListener(makeURLActionListener(
"mailto:gary@thecornells.com"));
panel.add(garyButton);
contentPane.add(panel, BorderLayout.SOUTH);
}
private ActionListener makeURLActionListener(final String u)
{
return new
ActionListener()
{
public void actionPerformed(ActionEvent event)
{
try
{
getAppletContext().showDocument(new URL(u));
}
catch(MalformedURLException e)
{
e.printStackTrace();
}
}
};
}
}
------------------------
ТРИО теплый пол отзыв
Заработок на сокращении ссылок
Earnings on reducing links
Код PHP на HTML сайты
Категория: Книги по Java
Комментарии |