|
=========
// Класс FirstPanel
// Первая панель
// =========================================================
class FirstPanel extends Panel
{
// -------------------------------------------------------
// paint
// Метод paint, выполняющий рисование в окне аплета
// -------------------------------------------------------
public void paint(Graphics g)
{
// Определяем текущие размеры
Dimension dimAppWndDimension = size();
// Рисуем рамку вокруг окна аплета
g.drawRect(0, 0,
dimAppWndDimension.width - 1,
dimAppWndDimension.height - 1);
// Устанавливаем шрифт
g.setFont(new Font("TimesRoman", Font.PLAIN, 12));
// Рисуем строку
g.drawString("Первая панель", 10, 50);
// Вызываем метод paint родительского класса
super.paint(g);
}
}
// =========================================================
// Класс SecondPanel
// Вторая панель
// =========================================================
class SecondPanel extends Panel
{
// -------------------------------------------------------
// paint
// Метод paint, выполняющий рисование в окне аплета
// -------------------------------------------------------
public void paint(Graphics g)
{
// Определяем текущие размеры
Dimension dimAppWndDimension = size();
// Рисуем рамку вокруг окна аплета
g.drawRect(0, 0,
dimAppWndDimension.width - 1,
dimAppWndDimension.height - 1);
// Устанавливаем шрифт
g.setFont(new Font("Helvetica", Font.PLAIN, 12));
// Рисуем строку
g.drawString("Вторая панель", 10, 50);
// Вызываем метод paint родительского класса
super.paint(g);
}
}
Исходный текст документа HTML, предназначенного для размещения нашего аплета,
представлен в листинге 7.6.
Листинг 7.6. Файл Panel2\Panel2.html
Panel2
The source.
Описание исходного текста
Как мы уже говорили, в приложении Panel2 мы создали два класса, взяв для них
в качестве базового класс Panel. Имена этих классов - FirstPanel и SecondPanel.
После трансляции проекта системой Microsoft Visual J++ получаются три двоичных
файла с именами Panel2.class, FirstPanel.class и SecondPanel.class - по одному
для каждого класса.
Поля класса Panel2
В классе Panel2 определено два поля с именами pPanel1 и pPanel2 класса Panel.
Первое из них предназначено для хранения ссылки на верхюю панель, второе - на
нижнюю (в соответствии с их расположением в окне аплета).
Метод getAppletInfo класса Panel2
Метод getAppletInfo возвращает информацию об аплете.
Метод init класса Panel2
Прежде всего метод init устанавливает для окна панели режим добавления
компонент GridLayout, определяя таблицу из двух строк и одного столбца.
Первая панель создается на базе класса FirstPanel, определенного в нашем
приложении:
pPanel1 = new FirstPanel();
Этот класс мы рассмотрим позже.
Созданная панель добавляется в окно аплета методом add:
add(pPanel1);
Аналогично мы создаем и вторую панель, на этот раз как объект класса
SecondPanel:
pPanel2 = new SecondPanel();
Вторая панель добавляется в окно аплета точно также, как и первая:
add(pPanel2);
Для того чтобы выделить
|
|