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

Исходный текст приложения


Исходный текст приложения представлен в листинге 3.3.

Листинг 3.3. Файл FontList\FontList.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 FontList extends Applet

{

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

  // Поля класса

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

  Toolkit toolkit;   // ссылка на Toolkit

  String  fntlist[]; // список шрифтов

  int yStart = 20;  // координата Y начала области вывода

  int yStep;        // шаг вывода строк с названиями шрифтов

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

  // getAppletInfo

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

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

  public String getAppletInfo()

  {

    return "Name: FontList\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()

  {

    // Получаем ссылку на Toolkit

    toolkit = Toolkit.getDefaultToolkit();

   

    // Получаем список доступных шрифтов

    fntlist = toolkit.getFontList();

  }

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

  // paint

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

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

  public void paint(Graphics g)


  {

    // Определяем метрики шрифта

    FontMetrics fm = g.getFontMetrics();

    // Устанавливаем шаг вывода строк по вертикали

    // равным полной высоте символов текущего шрифта

    yStep = fm.getHeight();

    // Устанавливаем новую высоту аплета исходя

    // из количества элементов в списке шрифтов

    resize(150, 20 + yStep * fntlist.length);

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

    Dimension dimAppWndDimension = size();

   

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

    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);

   

    // Выводим в цикле список установленных шрифтов

    for(int i = 0; i < fntlist.length; i++)

    {

      g.drawString(fntlist[i], 10, yStart + yStep * i);

    }

  }

}

В листинге 3.4 вы найдете исходный текст документа HTML, в который встроен наш аплет.

Листинг 3.4. Файл FontList\FontList.html

<html>

<head>

<title>FontList</title>

</head>

<body>

<hr>

<applet

    code=FontList.class

    id=FontList

    width=320

    height=240 >

</applet>

<hr>

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

</body>

</html>


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