Druzya.org
Возьмемся за руки, Друзья...
 
 
Наши Друзья

Александр Градский
Мемориальный сайт Дольфи. 
				  Светлой памяти детей,
				  погибших  1 июня 2001 года, 
				  а также всем жертвам теракта возле 
				 Тель-Авивского Дельфинариума посвящается...

 
liveinternet.ru: показано количество просмотров и посетителей

Библиотека :: Компьютеры и Программирование :: А.В. Фролов, Г.В. Фролов - Microsoft Visual J++
<<-[Весь Текст]
Страница: из 275
 <<-
 
ой параметр представляет собой ссылку 
на объект, вызвавший появление события.
   Как обрабатывать событие в методе action?
   Прежде всего необходимо проверить, объект какого типа создал событие. Это 
можно сделать, например, следующим образом:
if(evt.target instanceof Button)
{
  . . .
  return true;
}
return false;
   Здесь мы с помощью оператора instanceof проверяем, является ли объект, 
вызвавший появление события, объектом класса Button.
   Далее, если в окне аплета имеется несколько кнопок, необходимо выполнить 
ветвление по ссылкам на объекты кнопок, как это показано ниже:
if(evt.target.equals(btn1))
{
  . . .
}
else if(evt.target.equals(btn2))
{
  . . .
}

. . .

else
{
  return false;
}
return true;
   Тем из вас, кто создавал приложения Windows на языке программирования С, 
этот фрагмент кода может напомнить длинный переключатель switch обработки 
сообщений Windows.
   Приложение ButtonPress
   В окне приложения ButtonPress мы создаем четыре кнопки с названиями от 
Button 1 до Button 4. Когда пользователь нажимает на одну из кнопок, название 
нажатой кнопки отображается в окне аплета и в строке состояния навигатора (рис. 
5.3).

Рис. 5.3. Кнопки в окне аплета ButtonPress
   Обратите внимание на расположение кнопок. По мере добавления, кнопки 
располагаются по горизонтали справа налево и центрируются в окне аплета. Если 
бы ширины окна аплета не хватило для размещения четырех кнопок, не 
поместившиеся кнопки были бы нарисованы ниже. Такую стратегию размещения 
выбирает по умолчанию система Layout Manager класса Panel, от которого, как вы 
знаете, произошел класс Applet.
   Исходные тексты приложения ButtonPress
   Исходный текст приложения ButtonPress приведен в листинге 5.1.
Листинг 5.1. Файл ButtonPress\ButtonPress.java
// =========================================================
// Работа с кнопками
//
// (C) Фролов А.В, 1997
//
// E-mail: [email protected]
// WWW:    http://www.glasnet.ru/~frolov
//            или
//         http://www.dials.ccas.ru/frolov
// =========================================================
import java.applet.*;
import java.awt.*;

public class ButtonPress extends Applet
{
  // Создаем четыре ссылки на объекты типа Button
  Button btn1;
  Button btn2;
  Button btn3;
  Button btn4;

  // Строка для записи названия нажатой кнопки
  String sTextLabel;

  // -------------------------------------------------------
  // getAppletInfo
  // Метод, возвращающий строку информации об аплете
  // -------------------------------------------------------
  public String getAppletInfo()
  {
    return "Name: ButtonPress\r\n" +
      "E-mail: [email protected]" +
      "WWW:    http://www.glasnet.ru/~frolov" +
      "Author: Alexandr Frolov\r\n" +
      "Created with Microsoft Visual J++ Version 1.0";
  }

  // -------------------------------------------------------
  // init
  // Метод, получающий управление при инициализации аплета
  // -------------------------------------------------------
  public void init()
  {
    // Создаем четыре кнопки
    btn1 = new Button("Button 1");
    btn2 = new Button("Button 2");
    btn3 = new Button("Button 3");
    btn4 = new Button("Button 4");

    // Добавляем кнопки в контейнер, которым является
    // окно аплета
    add(btn1);
    add(btn2);
    add(btn3);
    add(btn4);

    // Название кнопки, нажатой в последний раз
    sTextLabel = new String("");
  }

  // -------------------------------------------------------
  // action
  // Метод вызывается, когда пользователь выполняет
  // действие над компонентами
  // -------------------------------------------------------
  public boolean action(Event evt, Object obj)
  {
    // Ссылка н
 
<<-[Весь Текст]
Страница: из 275
 <<-