| |
раем цвет в контекст отображения
if(m_color.equals("red"))
g.setColor(Color.red);
else if(m_color.equals("green"))
g.setColor(Color.green);
else
g.setColor(Color.black);
// Определяем размеры окна аплета
Dimension dimAppWndDimension = size();
// Определяем метрики текущего шрифта
FontMetrics fm = g.getFontMetrics();
// Номер текущего рисуемого символа строки
int nCurrentChar = 0;
// Позиция для рисования по вертикали
int yPos = fm.getHeight() + 5;
// Текущая позиция рисования символа по горизонтали
int nCurrentXPos = 10;
// Ширина текущего символа в пикселах
int nCurrentCharWidth;
// Бесконечный цикл рисования
while (true)
{
try
{
try
{
// Определяем ширину текущего символа
nCurrentCharWidth =
fm.charWidth(m_Str.charAt(nCurrentChar));
// Массив для преобразования кода символа в сивол
char[] ch;
// Временная строка
String s;
// Создаем массив из одного элемента
ch = new char[1];
// Записыаем в него код нажатой клавиши
ch[0] = m_Str.charAt(nCurrentChar);
// Преобразуем в строку
s = new String(ch);
// Рисуем текущий символ в текущей позиции
g.drawString(s, nCurrentXPos, yPos);
// Увеличиваем текущую позицию на ширину
// нарисованного символа
nCurrentXPos += nCurrentCharWidth;
// Переходим к следующему символу в строке
nCurrentChar++;
}
// Обработка выхода за пределы строки
catch (StringIndexOutOfBoundsException e)
{
// Сбрасываем номер текущего символа и
// текущую позицию
nCurrentChar = 0;
nCurrentXPos = 10;
// Перерисовываем окно аплета
repaint();
// Задержка после перерисовки окна
try
{
Thread.sleep(500);
}
catch (InterruptedException ee)
{
stop();
}
}
// Задержка между рисованием отдельных символов
Thread.sleep(m_delay);
}
catch (InterruptedException e)
{
stop();
}
}
}
}
В листинге 1.10 приведен исходный текст документа HTML, созданного для
аплета HorzScroll.
Листинг 1.10. Файл HorzScroll\HorzScroll.html
HorzScroll
|
|