Пример написания Java-апплета.
Рассмотрим написание Java-апплета на конкретном примере:
В этом простейшем Java-апплете, программа реагирует на нажатия мышкой кнопок. При этом в окне апплета изменяется надпись и меняется цвет прямоугольника.
Текст данного ява-апплета:
import
java.awt.*;
import java.applet.Applet;
public class
buttons extends java.applet.Applet {
Graphics g; //описание переменной g типа Graphics
int k;
public void init()
//void означает, что метод не возвращает значения
{
setLayout(new BorderLayout());
Panel p = new Panel();
add("South", p);
k=1; //присвоить переменной k значение 1
p.add(new Button("Red"));
p.add(new Button("Green"));
}
public
void paint(Graphics g) //методу
передается параметр g
{
if (k= =1) {
g.setColor(Color.red);
g.drawString("Red square",30,100);
}
if (k= =2) {
g.setColor(Color.green);
g.drawString("Green square",30,100);
}
g.fillRect(10,10,130,50);
}
public boolean handleEvent(Event
evt)
{
switch(evt.id) { //оператор выбора
case Event.ACTION_EVENT:
{
if (evt.arg = ="Red") {
k=1;
repaint();
}
else
if (evt.arg = ="Green") {
k=2;
repaint();
}
else return false;
//возвратить значение false
}
default:
// выполняется при невыполнении предыдущих условий
return false;
}
}
}
Первыми
двумя строками программы мы подключаем cтандартные пакеты AWT
и APPLET (здесь имеется в виду название самого
пакета, а не соответствующего ему файла). Тем самым нашей программе станут
доступны все классы подключаемых пакетов. Пакет AWT
упрощает реализацию оконного интерфейса благодаря набору графических функций,
находящимся в нем. Все апплеты являются расширением основного класса Applet,
для чего мы, собственно, его и импортировали. Следующей строкой мы описываем
наш класс buttons как расширение класса Applet
и доступного из других классов. На языке Java классы состоят из методов.
В нашем классе 3 метода: init(), paint(Graphics
g), handleEvent(Event evt). Опишем работу каждого
из них.
init()
Этот метод метод устанавливает стиль расположения кнопок, затем некоторому
полю р присваивается значение "South" для изображения кнопок внизу
области апплета, и выводятся на экран 2 кнопки при помощи метода p.add
paint(Graphics
g)
Этот метод при k=1 устанавливает цвет текста и заливки красным и выводит надпись
"Red Square" по указанным координатам, при k=2 - соответственно
зеленый цвет и надпись "Green Square". Затем выводит прямоугольник
выбранного ранее цвета и по указанным координатам.
handleEvent(Event
evt)
Этот метод, в отличие от двух других, возвращает логическое значение. При
помощи переменной evt.arg отслеживается нажатие мышкой на клавишу (evt.arg
принимает значение названия нажатой клавиши). В соответствии с нажатой клавишей
устанавливается значение k либо 1, либо 2, выпоняется метод repaint(),
обновляющий изображение области апплета.