Апплеты
Первые два примера, представленные в этой книге, — это приложения,
написанные на языке Java, т.е самостоятельные программы, аналогичные
обычным машинозависимым программам. С другой стороны, как
упоминалось в предыдущей главе, ажиотаж вокруг языка Java был вызван, в
основном, его возможностями выполнять апплеты под управлением
Web-броузеров.
Мы хотим показать вам, как создать и выполнить апплет в режиме командной строки.
Затем мы загрузим этот апплет в программу для просмотра апплетов (appletviewer), входящую в состав пакета JDK. В заключение мы отобразим его в Web-броузере.
Перейдите в каталог CoreJavaBook/vlch2/WelcomeApplet, а затем введите следующие команды. javac WelcomeApplet. java appletviewer WelcomeApplet.html
На рис. 2.12 показано то, что вы увидите в окне программы для просмотра апплетов.
Рис. 2.12. Вид апплета WelcomeApplet в окне программы просмотра апплетов
Первая команда нам уже знакома — она вызывает компилятор языка Java.
Он компилирует исходный текст апплета, содержащийся в файле
WelcomeApplet. java, создавая файл байт-кода WelcomeApplet. class.
Однако на этот раз мы не запускаем интерпретатор языка Java. Вместо
этого мы вызываем программу appletviewer. Эта программа специально
предназначена для быстрого тестирования апплетов и входит в пакет Java
SDK. Она работает не с файлом класса, а с файлом в формате HTML.
Содержание файла WelcomeApplet.html показано в листинге 2.3.
Листинг 2.3 Файл WelcomeApplet.java
<html> <title>WelcomeApplet</title> <body> <hr> <p> This applet is from the book <a HREF="http://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, то заметите некоторые стандартные команды
языка HTML и дескриптор applet, приказывающие программе просмотра
апплетов загрузить апплет, код которого содержится в файле
WelcomeApplet, class. Программа аррletviewer игнорирует все
дескрипторы языка HTML, за исключением дескриптора applet.
Другие дескрипторы языка HTML распознаются, когда файл в формате
HTML просматривается броузером, поддерживающим язы к Java 2. Однако тут
есть одна проблема.
Версии броузера Netscape 6, броузеры Mozilla и Opera поддерживают
язык Java 2 как в среде Windows, так й на платформе Linux, хотя эта
возможность является факультативной. Для того чтобы поэкспериментировать
с апплетами, просто загрузите самую последнюю версию и убедитесь, она
поддерживает Java.
Некоторые версии броузера Internet Explorer вообще не поддерживают
язык Java. Другие версии поддерживают лишь очень старую виртуальную
машину Java компании Microsoft (Java Virtual Machine). Если вы
работаете с броузером Internet Explorer под управлением операционной
системы Windows, зайдите на сайт http: //java. sun. com/get Java и
загрузите программу Java Plug-In. Она добавит в броузер Internet
Explorer возможности Java 2.
На платформе Macintosh под управлением операционной системы OS X
возможности языка Java уже интегрированы в броузер Internet Explorer. В
частности, на момент написания книги этот броузер поддерживал работу с
пакетом J2SE версии 1.3. Система OS 9 поддерживает лишь устаревшую
версию 1.1.
Если вы работаете с броузером Netscape 4, можете воспользоваться
поддержкой языка Java 2, обеспечиваемой программой Java Plug-In. Однако
при работе с апплетами, загружаемыми с помощью дескриптора applet,
броузер будет по- прежнему использовать устаревшую виртуальную машину
языка Java. Следовательно, придется переписать HTML-файл и вместо
дескриптора applet использовать довольно неудобный дескриптор embed.
Этот подход нельзя назвать удовлетворительным.
Если ваш броузер поддерживает платформу Java 2, попробуйте загрузить в него апплет. Для этого выполните следующие операции.
Запустите ваш броузер.
Выберите в меню опцию File -> Open File (или эквивалентную опцию). Перейдите в каталог CoreJavaBook/vlch2/WelcomeApplet.
В диалоговом окне вы должны увидеть файлы WelcomeApplet .html и WelcomeAppletPlugin.html.
Загрузите файл, соответствующий вашей настройке. Броузер загрузит
апплет вместе с окружающим его текстом. Он будет выглядеть примерно
так, как показано на рис. 2.13.
Легко видеть, что это приложение действительно интерактивно и
взаимодействует с Интернет. Нажмите на кнопку "Cay Horstmann". Апплет
заставит броузер открыть Web- страницу Кея Хорстманна. Щелкните на
кнопке "Gary Cornell". Апплет откроет окно для электронной почты, в
котором уже указан адрес электронной почты Гари Корнелла.
Рис, 2.13. Запуск апплета WelcomeApplet с помощью броузера
Заметьте, что ни одна из этих кнопок не работает с программой
просмотра аплетов. Эта программа не может посылать почту или отображать
на экране Web-страницу, поэтому она просто проигнорирует ваши запросы.
Программа просмотра апплетов хороша для тестирования изолированных
апплетов, однако для реального взаимодействия апплета с Интернет и
другими программами следует загрузить свой апплет в какой-либо броузер.
Апплет можно запустить из вашего текстового редактора или
интегрированной среды разработки. При работе с редактором Emacs выберите
в меню опцию JDE -> Run Applet.
При работе с редактором TextPad выберите опцию Tools -> Run Java
Applet или используйте комбинацию клавиш <CTRL+3>. Перед вами
откроется диалоговое окно, в котором будут представлены все HTML –
файлы, хранящиеся в текущем каталоге. Если вы нажмете клавишу
<ESC>, редактор TextPad автоматически создаст минимальный
HTML-файл.
В среде Sun ONE Studio нужно просто загрузить HTML-файл с
дескрипторами апплета. Эта среда содержит небольшой броузер, выполняющий
апплет на соответствующей Web-странице. В качестве альтернативы можно
щелкнуть правой кнопкой мыши на файле с исходным текстом апплета и
установить значение свойства "Executor" на закладке равным "Applet Execution".
Код апплета Welcome показан в листинге 2.4. В данный момент его
нужно лишь бегло просмотреть. К созданию апплетов мы еще вернемся в
главе 10. 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://www.horstmann.com")); Jbutton garyButton = new Jbutton("Gary Cornell"); garyButton.addActionListener(makeURLActionListener ("mailto:garyOthecornells.com")); panel.add(garyButton); contentPane.add(panel, BorderLayout.South); } public ActionListener makeURLActionListener(fina1 string u) { return new ActionListener () { public void actionPerformed(ActionEvent event) { try { getAppleContext().showDocument(u); } catch(Exeption e) ( e.printStackTrace (); } { e. printStackTrace (); } } } ;
В этой главе мы изучили механизмы компиляции и запуска программ,
написанных на языке Java. Теперь мы готовы перейти к главе 3, в которой
приступим к изучению языка Java.
|