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

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

Библиотека :: Компьютеры и Программирование :: А.В. Фролов, Г.В. Фролов - Microsoft Visual J++
<<-[Весь Текст]
Страница: из 275
 <<-
 
String:
g.drawString(s[CurrentStr], 
  10, dimAppWndDimension.height - 10);
   Строка будет нарисована на десять пикселов выше нижней границы окна аплета.
   После рисования строки мы проверяем, последняя она, или нет:
CurrentStr++;
if(CurrentStr > 5)
  CurrentStr = 0;
   Если строка последняя, мы сбрасываем счетчик текущей строки, после чего 
перебор строк начнется с самого начала.
   Для выполнения свертки мы вызываем метод copyArea, знакомый вам по 30 тому 
“Библиотеки системного программиста”:
yShift = 1;
g.copyArea(0, yShift + 1, 
  dimAppWndDimension.width  - 1, 
  dimAppWndDimension.height - 1,
  0, -yShift);
   Этот метод сдвигает содержимое прямоугольной области экрана, заданной 
первыми четырьмя параметрами. Величина сдвига определяются двумя последними 
параметрами метода. В нашем случае сдвиг выполняется по вертикальной оси на 
значение -1, то есть на один пиксел вверх.
   После сдвига освободившаяся область закрашивается желтым цветом:
g.setColor(Color.yellow);
g.fillRect(1, dimAppWndDimension.height - yShift - 1, 
  dimAppWndDimension.width  - 2, 
  dimAppWndDimension.height - 1);
   Далее выполняется задержка на 50 миллисекунд, после чего работа бесконечного 
цикла возобновляется с самого начала:
Thread.sleep(50);
   Приложение HorzScroll
   Практически в каждой книге, посвященной программированию на языке Java, вы 
найдете исходные тексты приложения, выполняющие горизонтальную прокрутку строки 
текста. Эффект бегущей строки достаточно широко используется для привлечения 
внимания пользователя. 
   Реализация эффекта бегущей его достаточно проста. Аплет создает задачу, 
которая периодически перерисовывает окно, вызывая метод repaint. Метод paint 
отображает строку в окне, каждый раз изменяя ее начальные координаты для 
получения эффекта сдвига.
   Мы уверены, что вы сами легко справитесь с задачей создания бегущей строки, 
поэтому предложим вам кое-что иное. А именно, мы подготовили приложение, 
которое выписывает текстовую строку в своем окне последовательно буква за 
буквой. Когда вся строка будет нарисована, окно очищается и затем процесс 
возобновляется вновь (рис. 1.5).

Рис. 1.5. Окно аплета HorzScroll
   В чем сложность создания такого аплета?
   Главным образом в том, что все символы пропорционального шрифта имеют разную 
ширину, и вам нужно правильно вычислять координаты каждого нового символа.
   Исходные тексты приложения
   Исходные тексты приложения HorzScroll приведены в листинге 1.9.
Листинг 1.9. Файл HorzScroll\HorzScroll.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 HorzScroll extends Applet implements Runnable
{
  // Ссылка на задачу рисования строки текста
  Thread m_HorzScroll = null;

  // Значения параметров по умолчанию
  private String m_Str   = "Hello from Java!";
  private String m_Fnt   = "Helvetica";
  private String m_style = "BOLD";
  private int m_size     = 12;
  private String m_color = "red";
  private int m_delay    = 50;

  // Имена параметр
 
<<-[Весь Текст]
Страница: из 275
 <<-