Передача параметров
Передача параметров в апплет производится с помощью тегов <param>, располагаемых между открывающим тегом <appiet> и закрывающим тегом </appiet> в HTML-файле. В тегах <param> указывается название параметра name и его значение value.
Передадим, например, в наш апплет Helloworld параметры шрифта. В листинге 14.7 показан измененный файл HelloWorld.html.
Листинг 14.7. Параметры для передачи в апплет.
<html> <head><title> Applet</title></head> <body> Ниже выполняется апплет.<br> <applet code = "HelloWorld.class" width = "400" height = "50"> <param name = "fontName" value = "Serif"> <param name = "fontStyle" value = "2"> <param name = "fontsize" value = "30"> </applet> </body> </html>
В апплете для приема каждого параметра надо воспользоваться методом getParameter (String name) класса Applet, Возвращающим строку типа String. В качестве аргумента этого метода задается значение параметра name в виде строки, причем здесь не различается регистр букв, а метод возвращает, значение параметра value тоже в виде строки.
Замечание по отладке
Операторы System.out.println(), обычно записываемые в апплет для отладки, выводят указанные в них аргументы в специальное окно браузера Java Console. Сначала надо установить возможность показа этого окна. В Internet Explorer это делается установкой флажка Java Console enabled выбором команды Tools › Internet Options › Advanced. После перезапуска IE в меню View появляется команда Java Console.
В листинге 14.8 показан переработанный апплет HelloWorld. В нем назначен белый фон, а шрифт устанавливается с параметрами, извлеченными из HTML-файла.
Листинг 14.8. Апплет, принимающий параметры.
import java.awt.*; import java.applet.*; public class HelloWorld extends Applet{ public void init(){ setBackground(Color.white); String font = "Serif"; int style = Font.PLAIN, size = 10; font = getParameter("fontName"); style = Integer.parselnt(getParameter("fontStyle")); size = Integer.parselnt(getParameter("fontsize")); setFont(new Font(font, style, size)); } public void paint(Graphics g){ g.drawstring("Hello, XXI century World!", 10, 30); } }
Совет
Надеясь на то, что параметры будут заданы в HTML-файле, все-таки присвойте начальные значения переменным в апплете, как это сделано в листинге 14.8.