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

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

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

Библиотека :: Компьютеры и Программирование :: А.В. Фролов, Г.В. Фролов - Microsoft Visual J++
<<-[Весь Текст]
Страница: из 275
 <<-
 
public class KeyCode extends Applet
{
  // Высота символов текущего шрифта
  int yHeight;

  // Текущие размеры окна аплета
  Dimension dimAppWndDimension;

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

  // -------------------------------------------------------
  // init
  // Метод, получающий управление при инициализации аплета
  // -------------------------------------------------------
  public void init()
  {
    // Получаем контекст отображения
    Graphics g = getGraphics();

    // Определяем метрики текущего шрифта
    FontMetrics fm = g.getFontMetrics();

    // Сохраняем полную высоту символов шрифта
    yHeight = fm.getHeight();
  }

  // -------------------------------------------------------
  // paint
  // Метод paint, выполняющий рисование в окне аплета
  // -------------------------------------------------------
  public void paint(Graphics g)
  {
    // Определяем текущие размеры окна аплета
    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);
  }

  // -------------------------------------------------------
  // keyDown
  // Вызывается, когда пользователь нажимает на клавишу
  // -------------------------------------------------------
  public boolean keyDown(Event evt, int nKey) 
  {
    // Массив для преобразования кода символа в сивол
    char[] chKey;
    
    // Временная строка
    String s;

    // Создаем массив из одного элемента
    chKey = new char[1];

    // Записыаем в него код нажатой клавиши
    chKey[0] = (char)nKey;
    
    // Преобразуем в строку
    s = new String(chKey);
    
    // Получаем контекст отображения
    Graphics g = getGraphics();
    
    // Выбираем черный цвет для рисования
    g.setColor(Color.black);
    
    // Рисуем символ, соответствующий нажатой клавише
    g.drawString(s + " ", 10, 10);

    // Рисуем код клавиши
    g.drawString(
      " -> key: " + evt.key, 20, 10);

    // Рисуем код модификации
    g.drawString(" mod: " + evt.modifiers, 100, 10);

    return true;
  }

  // -------------------------------------------------------
  // keyUp
  // Вызывается, когда пользователь отпускает клавишу
  // -------------------------------------------------------
  public boolean keyUp(Event evt, int nKey) 
  {
    // Получаем контекст отображения
    Graphics g = getGraphics();

    // Выполняем свертку нижней области окна
    g.copyArea(0, 1, 
      dimAppWndDimension.width  - 1, 
      dimAppWndDimension.height - yHeight - 5,
      0, yHeight + 1);

    // Закрашиваем область ввода желтым цветом
    g.setColor(Color.yellow);

    g.fillRect(1, 1, 
      dimAppWndDimension.width  - 2, yHeight + 1);

    return true;
  }
}
   В листинге 4.6 вы найдете исходный текст документа HTML, в который встроен 
наш аплет.
Листинг 4.6. Файл KeyCode\KeyCode.html


KeyCode




The source. Описание исходного текста Наш аплет определяет несколько полей в своем классе и переопределяет несколько методов базов
 
<<-[Весь Текст]
Страница: из 275
 <<-