Пример написания 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(), обновляющий изображение области апплета.

Возврат