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

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


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

Листинг 5.5. Файл ChoiceList\ChoiceList.java

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

// Списки типа Drop Down

//

// (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 ChoiceList extends Applet

{

  // Создаем ссылки на объекты класса Choice

  Choice chBackgroundColor;

  Choice chForegroundColor;

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

  // getAppletInfo

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

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

  public String getAppletInfo()

  {

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

  {

    // Создаем списки для выбора цвета фона и

    // цвета изображения

    chBackgroundColor = new Choice();

    chForegroundColor = new Choice();

    // Добавляем списки в окно аплета

    add(chBackgroundColor);

    add(chForegroundColor);

    // Заполняем список цвета фона

    chBackgroundColor.addItem("Yellow");

    chBackgroundColor.addItem("Green");

    chBackgroundColor.addItem("White");

    // Заполняем список цвета изображения

    chForegroundColor.addItem("Black");

    chForegroundColor.addItem("Red");

    chForegroundColor.addItem("Blue");


    // Устанавливаем цвет фона

    setBackground(Color.yellow);

    // Устанавливаем цвет изображения

    setForeground(Color.black);

  }

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

  // action

  // Метод вызывается, когда пользователь выполняет

  // действие над компонентами

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

  public boolean action(Event evt, Object obj)

  {

    // Переменная для хранения ссылки на список,

    // вызвавший событие

    Choice ch;

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

    ch = (Choice)evt.target;

    // Проверяем, что событие вызвано списком, а не

    // другим компонентом

    if(evt.target instanceof Choice)

    {

      // Выполняем ветвление по спискам

     

      // Список цвета фона

      if(evt.target.equals(chBackgroundColor))

      {

        // Получаем номер текущего элемента списка

        // и устанавливаем соответствующий

        // цвет фона

        if(ch.getSelectedIndex() == 0)

          setBackground(Color.yellow);

       

        else if(ch.getSelectedIndex() == 1)

          setBackground(Color.green);

        else if(ch.getSelectedIndex() == 2)

          setBackground(Color.white);

      }

      // Список цвета изображения

      else if(evt.target.equals(chForegroundColor))

      {

        // Получаем номер текущего элемента списка

        // и устанавливаем соответствующий

        // цвет изображения

        if(ch.getSelectedIndex() == 0)

          setForeground(Color.black);

       

        else if(ch.getSelectedIndex() == 1)

          setForeground(Color.red);

        else if(ch.getSelectedIndex() == 2)

          setForeground(Color.blue);

      }

      // Если событие возникло от неизвестного списка,

      // мы его не обрабатываем

      else

      {

        return false;

      }

      // Перерисовываем окно аплета

      repaint();

      // возвращаем признак того, что мы обработали событие



      return true;

    }

    // Если событие вызвано не кнопкой,

    // мы его не обрабатываем

    return false;

  }

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

  // paint

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

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

  public void paint(Graphics g)

  {

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

    Dimension dimAppWndDimension = size();

   

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

    g.drawRect(0, 0,

      dimAppWndDimension.width  - 1,

      dimAppWndDimension.height - 1);

    // Рисуем строку

    g.drawString("Смотри на цвет фона и текста!", 10, 50);

  }

}

Исходный текст документа HTML, созданного для нашего аплета, приведен в листинге 5.6.

Листинг 5.6. Файл ChoiceList\ChoiceList.html

<html>

<head>

<title>ChoiceList</title>

</head>

<body>

<hr>

<applet

    code=ChoiceList.class

    id=ChoiceList

    width=320

    height=240 >

</applet>

<hr>

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

</body>

</html>


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