|
”.
Кроме того, метод paint класса нашего аплета рисует две строки в окнах обеих
панелей, получая контекст отображения для панелей и указывая ссылку на этот
контекст явным образом.
В процессе инициализации метод init класса нашего аплета устанавливает
различный цвет фона и изображения для панелей, поэтому рамки вокруг окон
панелей и текст получаются нарисованными различным цветом независимо от способа
их рисования.
Исходные тексты приложения
Файл исходных текстов приложения приведен в листинге 7.5.
Листинг 7.5. Файл Panel2\Panel2.java
// =========================================================
// Работа с панелями класса Panel
// Наследование от класса Panel
//
// (C) Фролов А.В, 1997
//
// E-mail: [email protected]
// WWW: http://www.glasnet.ru/~frolov
// или
// http://www.dials.ccas.ru/frolov
// =========================================================
import java.applet.*;
import java.awt.*;
// =========================================================
// Класс Panel2
// Это наш аплет
// =========================================================
public class Panel2 extends Applet
{
// Первая панель
FirstPanel pPanel1;
// Вторая панель
SecondPanel pPanel2;
// -------------------------------------------------------
// getAppletInfo
// Метод, возвращающей строку информации об аплете
// -------------------------------------------------------
public String getAppletInfo()
{
return "Name: Panel2\r\n" +
"Author: Alexandr Frolov\r\n" +
"E-mail: [email protected]" +
"WWW: http://www.glasnet.ru/~frolov" +
"Created with Microsoft Visual J++ Version 1.0";
}
// -------------------------------------------------------
// init
// Метод, получающий управление при инициализации аплета
// -------------------------------------------------------
public void init()
{
// Создаем в окне аплета две панели, разделяющие
// окно по горизонтали
setLayout(new GridLayout(2, 1));
// Создаем первую панель
pPanel1 = new FirstPanel();
// Добавляем первую панель в окно аплета
add(pPanel1);
// Создаем вторую панель
pPanel2 = new SecondPanel();
// Добавляем вторую панель
add(pPanel2);
// Устанавливаем желтый цвет фона для первой панели
pPanel1.setBackground(Color.yellow);
// Устанавливаем черный цвет изображения
// для первой панели
pPanel1.setForeground(Color.black);
// Устанавливаем белый цвет фона для второй панели
pPanel2.setBackground(Color.white);
// Устанавливаем красный цвет изображения
// для второй панели
pPanel2.setForeground(Color.red);
// Инициируем вызов метода paint
repaint();
}
// -------------------------------------------------------
// paint
// Метод paint, выполняющий рисование в окне аплета
// -------------------------------------------------------
public void paint(Graphics g)
{
Graphics gPanel1;
Graphics gPanel2;
// Получаем контекст отображения для первой панели
gPanel1 = pPanel1.getGraphics();
// Рисуем строку в окне первой панели
gPanel1.drawString("Нарисовано в первой панели",
10, 80);
// Получаем контекст отображения для второй панели
gPanel2 = pPanel2.getGraphics();
// Рисуем строку в окне второй панели
gPanel2.drawString("Нарисовано во второй панели",
10, 80);
}
}
// ===============================================
|
|