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

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

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

Библиотека :: Компьютеры и Программирование :: А.В. Фролов, Г.В. Фролов - Microsoft Visual J++
<<-[Весь Текст]
Страница: из 275
 <<-
 
глядит следующим образом:
public boolean mouseMove(Event evt, int x, int y)
{
  return true;
}
   Он ничего не делает, кроме того что возвращает значение true, блокируя 
обработку события, выполняемую в базовом классе. 
   Приложение LineDraw
   Следующее приложение тоже работает с мышью. В его окне вы можете рисовать 
прямые линии черного цвета (рис. 4.3).

Рис. 4.3. Аплет, в окне которого можно рисовать прямые линии
   Для того чтобы нарисовать линию в окне аплета LineDraw, вы должны установить 
курсор в начальную точку, нажать клавишу мыши и затем, не отпуская ее, 
переместить курсор в конечную точку. После отпускания клавиши мыши координаты 
линии будут сохранены аплетом в массиве, после чего произойдет перерисовка окна 
аплета.
   По мере того как вы будете рисовать линии, аплет будет заполнять массив с 
координатами линий. Каждый раз, когда окно аплета будет перерисовываться, метод 
paint перерисует все линии заново, пользуясь координатами, сохраненными в 
массиве.
   Для того чтобы стереть содержимое окна аплета, вам достаточно сделать 
двойной щелчок в его окне. При этом из массива координать линий будут удалены 
все элементы. 
   Исходные тексты приложения
   Исходный текст аплета LineDraw приведен в листинге 4.3.
Листинг 4.3. Файл LineDraw\LineDraw.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.*;

// Добавляем для класса Vector
import java.util.*;

public class LineDraw extends Applet
{
  // Координаты курсора при нажатии кнопки мыши
  Dimension dmDown;

  // Координаты курсора при отжатии кнопки мыши
  Dimension dmUp;

  // Предыдущие координаты конца линии
  Dimension dmPrev;
  
  // Признак включения режима рисования
  boolean bDrawing;

  // Массив координат линий
  Vector lines;

  // -------------------------------------------------------
  // getAppletInfo
  // Метод, возвращающей строку информации об аплете
  // -------------------------------------------------------
  public String getAppletInfo()
  {
    return "Name: LineDraw\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()
  {
    // Сброс признака рисования
    bDrawing = false;

    // Создание массива для хранения координат линий
    lines = new Vector();
  }

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