|
, width, height;
int rColor, gColor, bColor;
// Выбираем случайным образом размеры
// и расположение рисуемого прямоугольника
x = (int)(dimAppWndDimension.width * Math.random());
y = (int)(dimAppWndDimension.height * Math.random());
width = (int)(dimAppWndDimension.width *
Math.random()) / 2;
height = (int)(dimAppWndDimension.height *
Math.random()) / 2;
// Выбираем случайный цвет для рисования
// прямоугольника
rColor = (int)(255 * Math.random());
gColor = (int)(255 * Math.random());
bColor = (int)(255 * Math.random());
// Устанавливаем выбранный цвет в контексте
// отображения
g.setColor(new Color(rColor, gColor, bColor));
// Рисуем прямоугольник
g.fillRect(x, y, width, height);
// Выполняем задержку на 50 миллисекунд
try
{
Thread.sleep(50);
}
catch (InterruptedException e)
{
stop();
}
}
}
// -------------------------------------------------------
// mouseEnter
// Метод вызывается, когда курсор мыши оказывается над
// окном аплета
// -------------------------------------------------------
public boolean mouseEnter(Event evt, int x, int y)
{
if (m_Rectangles != null)
{
// Когда курсор мыши оказывается над поверхностью
// окна аплета, временно приостанавливаем
// задачу рисования прямоугольников
m_Rectangles.suspend();
}
return true;
}
// -------------------------------------------------------
// mouseExit
// Метод вызывается, когда курсор мыши покидает
// окно аплета
// -------------------------------------------------------
public boolean mouseExit(Event evt, int x, int y)
{
if (m_Rectangles != null)
{
// Когда курсор мыши покидает окно аплета,
// возобновляем работу задачи рисования
// прямоугольников
m_Rectangles.resume();
}
return true;
}
}
Доступ к полям аплета Java из сценария JavaScript
В предыдущем примере сценарий JavaScript вызывал методы, определенные в
аплете Java. В следующем примере сценарий будет обращаться к полю,
определенному в главном классе аплета.
Заметим, что сценарию JavaScript доступны только те поля и методы аплета,
определенные как public.
На рис. 6.2 показан внешний вид документа HTML, в котором расположен один
аплет и форма с одним многострочным текстовым полем и одной кнопкой.
Рис. 6.2. Сценарий JavaScript вызывает получает информацию от аплета
В окне аплета, расположенном в верхней части документа, находится поле
редактирования текста и кнопка с надписью “Получить строку”. Если набрать в
поле редактирования любую текстовую строку и нажать эту кнопку, то введенная
строка будет отображена в нижней части аплета после символа >. Такой аплет мы
описали в 30 томе “Библиотеки системного программиста” в разделе “Приложение
TxtField” пятой главы.
Если нажать кнопку “Get applet info and text”, то сценарий JavaScript
извлечет из аплета введенную текстовую строку (она хранится в поле с именем
str), а также получит описание аплета, вызвав метод getAppletInfo, определенный
в нашем аплете.
Введенная строка и информация об аплете будет затем отображена сценарием в
многострочном поле редактирования, как это показано на рис. 6.2.
Таким образом, наш сценарий обращается к полю и методу, определенным в
аплете.
Исходный текст документа HTML вы найдете в листинге 6.3.
Листинг 6.3. Файл chapter6/TxtField/TxtField.html
Get text
|
|