Microsoft Visual J++. Создание приложений и аплетов на языке Java

         

Исходные файлы приложения Painter


В листинге 3.1 мы привели исходный текст аплета Painter.

Листинг 3.1. Файл Painter\Painter.java

// =========================================================

// Аплет, демонстрирующий использование различных

// функций рисования

//

// (C) Фролов А.В, 1997

//

// E-mail: frolov@glas.apc.org

// WWW:    http://www.glasnet.ru/~frolov

//            или

//         http://www.dials.ccas.ru/frolov

// =========================================================

import java.applet.*;

import java.awt.*;

public class Painter extends Applet



{

  // -------------------------------------------------------

  // Painter

  // Конструктор не используется

  // -------------------------------------------------------

  public Painter()

  {

  }

  // -------------------------------------------------------

  // getAppletInfo

  // Метод, возвращающей строку информации об аплете

  // -------------------------------------------------------

  public String getAppletInfo()

  {

    return "Name: Painter\r\n" +

      "Author: Alexandr Frolov\r\n" +

      "E-mail: frolov@glas.apc.org" +

      "WWW:    http://www.glasnet.ru/~frolov" +

      "Created with Microsoft Visual J++ Version 1.0";

  }

  // -------------------------------------------------------

  // init

  // Вызывается во время инициализации аплета

  // -------------------------------------------------------

  public void init()

  {

    // Для того чтобы размеры окна аплета можно было

    // задавать в документе HTML, закрываем следующую

    // строку символом комментария

    // resize(320, 240);

  }

  // -------------------------------------------------------

  // destroy

  // Метод destroy не используется

  // -------------------------------------------------------

  public void destroy()

  {

  }

  // -------------------------------------------------------

  // paint

  // Метод paint, выполняющий рисование в окне аплета


  // -------------------------------------------------------

  public void paint(Graphics g)

  {

    // Определяем текущие размеры окна аплета

    Dimension dimAppWndDimension = size();

    // Эта строка будет удалена из окна аплета

    // методом clearRect

    g.drawString("Невидимая строка", 10, 20);

 

    // Стираем содержимое окна аплета. Цвет окна

    // становится таким же, как и цвет фона

    // окна навигатора

    g.clearRect(0, 0,

      dimAppWndDimension.width  - 1,

      dimAppWndDimension.height - 1);

   

    // Выбираем в контекст отображения желтый цвет

    g.setColor(Color.yellow);

   

    // Закрашиваем внутреннюю область окна аплета

    g.fillRect(0, 0,

      dimAppWndDimension.width  - 1,

      dimAppWndDimension.height - 1);

    // Выбираем в контекст отображения черный цвет

    g.setColor(Color.black);

    // Рисуем рамку вокруг окна аплета

    g.drawRect(0, 0,

      dimAppWndDimension.width  - 1,

      dimAppWndDimension.height - 1);

    // Пишем строку в верхнем левом углу окна аплета

    g.drawString("Привет из аплета!", 10, 20);

    // Рисуем в цикле пять горизонтальных линий

    for(int i = 0; i < 5; i++)

    {

      g.drawLine(10, 30 + (i * 10), 200, 30 + (i * 10));

    }

    // Копируем область окна, занятую

    // нарисованными линиями

    g.copyArea(10, 30, 200, 50, 220, 0);

    // Выбираем в контекст отображения белый цвет

    g.setColor(Color.white);

    // Закрашиваем белвым цветом нижнюю часть окна

    g.fillRect(1, 80,

      dimAppWndDimension.width  - 2,

      dimAppWndDimension.height - 81);

   

    // Выбираем в контекст отображения черный цвет

    g.setColor(Color.black);

    // Рисуем два трехмерных прямоугольника

    g.draw3DRect(10,  100, 100, 20, true);

    g.draw3DRect(120, 100, 100, 20, false);

 

    // Выбираем в контекст отображения красный цвет

    g.setColor(Color.red);

   



    // Рисуем рамку, в которую будет вписан сегмент

    g.drawRect(10, 140, 200, 100);

    g.drawLine(10, 190, 210, 190);

    g.drawLine(110, 140, 110, 240);

    // Выбираем в контекст отображения черный цвет

    g.setColor(Color.black);

    // Рисуем сегмент

    g.drawArc(10, 140, 200, 100, -25, 320);

    // Создаем многоугольник

    Polygon p = new Polygon();

 

    // Добавляем в многоугольник несколько вершин

    p.addPoint(270, 239);

    p.addPoint(350, 230);

    p.addPoint(360, 180);

    p.addPoint(390, 160);

    p.addPoint(340, 130);

    p.addPoint(270, 239);

    // Рисуем многоугольник

    g.drawPolygon(p);

    // Рисуем прямоугольник с закругленными углами

    g.drawRoundRect(10, 250, 200, 100, 60, 40);

    // Выбираем в контекст отображения красный цвет

    g.setColor(Color.red);

    // Задаем область ограничения вывода

    g.clipRect(260, 250, 200, 100);

 

    // Рисуем круг, пересекающий область ограничения

    g.fillOval(300, 200, 170, 170);

  }

  // -------------------------------------------------------

  // start

  // Метод start не используется

  // -------------------------------------------------------

  public void start()

  {

  }

      

  // -------------------------------------------------------

  // stop

  // Метод stop не используется

  // -------------------------------------------------------

  public void stop()

  {

  }

}

Листинг 3. 2 содержит исходный текст документа HTML, в который встроен данный аплет.

Листинг 3.2. Файл Painter\Painter.html

<html>

<head>

<title>Painter</title>

</head>

<body>

<hr>

<applet

    code=Painter.class

    id=Painter

    width=500

    height=400>

</applet>

<hr>

<a href="Painter.java">The source.</a>

</body>

</html>

Мы внесли небольшие изменения в файл Painter.html, подготовленный системой Java Applet Wizard. Эти изменения заключаются в увеличении размеров окна аплета, задаваемых параметрами WIDTH и HEIGHT оператора <APPLET>.


Содержание раздела