/Java/ Иллюстрированный самоучитель по Java

Вид материалаЛитература
Подобный материал:
1   ...   15   16   17   18   19   20   21   22   ...   27
<html> <br /> <br /><headxtitle> ShowWindow Applet 



Здесь появится Ваше имя.


 

 

 




Рис. 14.3. Апплет, создающий окно

Замечание по отладке

Браузеры помещают загруженные апплеты в свой кэш, поэтому после щелчка кнопкой мыши по кнопке Refresh или Reload запускается старая копия апплета из кэша Для загрузки новой копии надо при щелчке по кнопке Refresh в IE (Internet Explorer) держать нажатой клавишу , а при щелчке по кнопке Reload в NC (Netscape Communicator) — клавишу Иногда и это не помогает. Не спасает даже перезапуск браузера. Тогда следует очистить оба кэша-и дисковый, и кэш в памяти. В IE это выполняется кнопкой Delete Files в окне, вызываемом выбором команды Tools | Internet Options. B NC необходимо открыть окно Cache командой Edit | Preferences | Advanced.

При запуске прилбжения интерпретатором java из командной строки в него можно передать параметры в виде аргумента метода main (string n args). В апплеты также передаются параметры, но другим путем.

Передача параметров

Передача параметров в апплет производится с помощью тегов
, располагаемых между открывающим тегом и закрывающим тегом в HTML-файле. В тегах
указывается название параметра name и его значение value.

Передадим, например, в наш апплет Heiioworid параметры шрифта. В листинге 14.7 показан измененный файл HelloWorld.phpl.

Листинг 14.7. Параметры для передачи в апплет



Applet 



Ниже выполняется апплет.


 


 


 


 

 

 



В апплете для приема каждого параметра надо воспользоваться методом 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 j ava.awt.*; 

import j ava.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.

На рис. 14.4 показан работающий апплет.


Рис. 14.4. Апплет с измененным шрифтом

Правила хорошего тона рекомендуют описать параметры, передаваемые ап-плету, в виде массива, каждый элемент которого — массив из трех строк, соответствующий одному параметру. Данная структура представляется в виде "имя", "тип", "описание". Для нашего примера можно написать:

String!][] pinfo = {

{"fontName", "String", "font name"},

{"fontStyle", "int", "font style"},

{"fontsize", "int", "font size"} 

};

Затем переопределяется метод getParameterinfoO, возвращающий указанный массив. Это пустой метод класса Applet. Любой объект, желающий узнать, что передать апплету, может вызвать этот метод. Для нашего примера переопределение выглядит так:

public String[][] getParameterlnfо(){

return pinfo;

}

Кроме того, правила хорошего тона предписывают переопределить метод getAppletinfо (), возвращающий строку, в которой записано имя автора, версия апплета и прочие сведения об апплете, которые вы хотите предоставить всем желающим. Например:

public String getAppletlnfo(){

return "MyApplet v.1.5 P.S.Ivanov"; 

}

Посмотрим теперь, какие еще параметры можно задать в теге .

 

Параметры тега codebase=.

Перечислим все параметры тега

Обязательные параметры:
  • code — URL-адрес файла с классом апплета или архивного файла;
  • width и height — ширина и высота апплета в пикселах. 

Необязательные параметры:
  • codebase — URL-адрес каталога, в котором расположен файл класса апплета. Если этот параметр отсутствует, браузер будет искать файл в том же каталоге, где размещен соответствующий HTML-файл;
  • archive — файлы всех классов, составляющих апплет, могут быть упакованы архиватором ZIP или специальным архиватором JAR в один или несколько архивных файлов. Параметр задает URL-адреса этих файлов через запятую;
  • align — выравнивание апплета в окне браузера. Этот параметр имеет одно из следующих значений: ABSBOTTOM, ABSMIDDLE, BASELINE, BOTTOM, CENTER, LEFT, MIDDLE, RIGHT, TEXTTOP, TOP;
  • hspace и vspace — горизонтальные и вертикальные поля, отделяющие апплет от других объектов в окне браузера в пикселах;
  • download — задает порядок загрузки изображений апплетом. Имена изображений перечисляются через запятую в порядке загрузки;
  • name — имя апплета. Параметр нужен, если загружаются несколько ап-плетов с одинаковыми значениями code и codebase ;
  • style — информация о стиле CSS (Cascading Style Sheet); title — текст, отображаемый в процессе выполнения апплета;
  • alt — текст, выводимый вместо апплета, если браузер не может загрузить его;
  • mayscript — не имеет значения. Это слово указывает на то, что апплет будет обращаться к тексту " onclick="return false">ссылка скрыта"

    width = "300" height = "200" align = "TOP"

    vspace = "5" hspace = "5" mayscript

    alt = "If you have a Java-enabled browser,

    you would see an applet here.">