Приложение TextOut
До сих пор наши аплеты не получали параметров из документов HTML, в которые мы их встраивали. Конечно, все константы, текстовые строки, адреса URL и другую информацию можно закодировать непосредственно в исходном тексте аплета, однако, очевидно, это очень неудобно.
Пользуясь операторами <PARAM>, расположенными в документе HTML сразу после оператора <APPLET>, можно передать аплету произвольное количество параметров, например, в виде текстовых строк:
<applet
code=TextOut.class
id=TextOut
width=320
height=240 >
<param name=ParamName1 value="Param Value 1">
<param name=ParamName2 value="Param Value 2">
<param name=ParamName3 value="Param Value 3">
<param name=ParamName4 value="Param Value 4">
. . .
</applet>
Здесь через параметр NAME оператора <PARAM> передается имя параметра аплета, а через параметр VALUE - значение соответствующего параметра.
Как параметр может получить значение параметров?
Для получения значения любого параметра аплет должен использовать метод getParameter. В качестве единственного параметра этому методу передается имя параметра аплета в виде строки типа String, например:
private String m_ParamName1;
private final String PARAM_ ParamName1= "ParamName1";
String param;
param = getParameter(PARAM_ParamName1);
if (param != null)
m_ParamName1 = param;
Если вы создаете аплет с помощью системы Java Applet Wizard, то в четвертой диалоговой панели вам предоставляется возможность определить все параметры, передаваемые аплету (рис. 3.12).
![](image/image059.jpg)
Рис. 3.12. Определение параметров аплета (список параметров уже заполнен)
Первоначально список параметров, отображаемых в четвертой диалоговой панели системы Java Applet Wizard, пуст. Такую панель мы показывали раньше на рис. 2.11.
Для добавления нового параметра сделайте щелчок левой клавишей мыши в столбце Name по свободному полю, отмеченному пунктирным прямоугольником. На месте этого прямоугольника появится поле редактирования, в котором вы должны ввести имя параметра. После ввода сделайте щелчок вне поля, после чего в списке параметров появится новая строка.
Создавая проект TextOut, мы выполнили эту операцию для всех параметров, за исключением параметра Font4. Этот параметр мы добавили позже в ручном режиме, когда все файлы проекта уже были созданы.
Обратите внимание, что в столбце Member при заполнении списка автоматически появляются имена полей класса, в которые попадут значения параметров.
После завершения формирования списка параметров мы заполнили столбцы Def-Value и Description (рис. 3.13).
![](image/image061.jpg)
Рис. 3.13. Заполнение столбцов Def-Value и Description
Значения из столбца Def-Value будут использованы для инициализации соответствующих полей класса. Что же касается столбца описаний Description, о эта информация может быть извлечена аплетом и проанализирована. Если в документе HTML находится несколько аплетов (что вполне допустимо), другие аплеты также могут получить описание параметров нашего аплета.
Какие параметры получает наш аплет и что он делает, кроме получения значения параметров?
Через параметры с именами Str1 - Str5 передается пять строк, который аплет отображает в своем окне (рис. 3.14).
![](image/image063.jpg)
Рис. 3.14. Отображение строк в окне аплета TextOut
Параметры Font1 - Font5 задают имена шрифтов для отображения этих строк. С помощью параметра Type1 можно задать стиль шрифта первой и второй строки, с помощью параметра Type2 - третьей и четвертой, а с помощью параметра Type3 - стиль шрифта для пятой строки.
Рассмотрим исходный тексты приложения TextOut.