Microsoft Visual J++. Создание приложений и аплетов на языке Java


Метод run - часть 2


Далее нам нужно отобразить текущий символ в заданной позиции, для чего мы воспользуемся методом drawString.

С этим, однако, есть небольшая сложность - метод drawString не может отображать отдельные символы. Поэтому мы должны создать строку, состоящую из одного символа и передать эту строку методу drawString.

Эта задача решается достаточно просто.

Прежде всего, мы определяем массив, состоящий из одного символа, и временную текстовую строку s:

char[] ch;

String s;

ch = new char[1];

В самый первый элемент массива мы записываем текущий символ:

ch[0] = m_Str.charAt(nCurrentChar);

Затем мы создаем строку из массива, пользуясь конструктором, специально предусмотренным для этой цели в классе String:

s = new String(ch);

Все! Теперь можно отображать строку, состоящую из одного символа, в текущей позиции:

g.drawString(s, nCurrentXPos, yPos);

После отображения символа мы увеличиваем текущую позицию по горизонтальной оси на ширину только что нарисованного символа, а затем переходим к следующему символу в строке, увеличивая счетчик nCurrentChar:

nCurrentXPos += nCurrentCharWidth;

nCurrentChar++;

По идее после увеличения счетчика nCurrentChar мы должны были бы проверить его значение на предмет выхода за границы строки, однако метод run поступает лучше. При получении из строки символа с номером nCurrentChar при помощи метода charAt возможно возникновение исключения StringIndexOutOfBoundsException, которое и обрабатывается методом run.

При обработке исключения метод run сбрасывает номер текущего символа и текущую позицию, перерисовывает окно аплета (в результате чего оно очищется), и после выполнения задержки в полсекунды продолжает процедуру рисования символов.




Начало  Назад  Вперед



Книжный магазин