pain t () вызывается каждый раз, коrда BBOД аплета должен быть перерисован. Эта ситуация возникает в нескольких случаях. Например, окно, в котором выполняется аплет, может быть перекрыто друrим окном, а затем вновь открыто. Или же окно аплета может быть минимизировано, а затем восстаН()Влено. Метод paint () также вызывается, коrда аплет начинает выполнение. В любом случае всякий раз, коrда нужно перерисовать аплет, вызывается ero метод paint (). Метод paint () принимает один параметр типа Graphics. Этот параметр будет содержать rpафический контекст, описывающий rpафи ческую среду, в которой выполняется аплет. Этот контекст используется всякий раз, KO rда запрашивается вывод аплета.
Метод repaint () определен в АWт. Он заставляет исполняющую систему AWT ocyществлять вызов метода upda te () вашеrо аплета, который в реализации по умолчанию обращается к paint (). Таким образом, для Toro, чтобы друrая часть вашеrо аплета моrла выполнять вывод в ero окно, просто сохраните вывод и вызовите repaint (). Затем AWT выполнит вызов метода paint ( ) , который может отобразить сохраненную информацию. Например, если часть вашеrо аплета нуждается в выводе строки, она может сохранить ее в переменной String и затем вызвать repa.int () . Внутри paint () вы выведите строку с помощью drawString () .
Метод repaint () имеет четыре формы.
void repaint(int left, int top, int width, int height) Здесь координаты правоrо BepxHero уrла области указаны в left и top, а ширина и высота области в width и height. Эти измерения указаны в пикселях. Вы экономите время, указывая область для перерисовки. Обновление окон обходится дороrо в смысле затрат времени. Если вам нужно обновить только небольшую часть окна, то более эффек тивно будет обновить только эту область, а не всю поверхность окна. Вызов repaint () это, по сути, запрос вашеrо аплета на скорейшее обновление. Однако если ваша система медленна или занята, update () может и не вызваться HeMeд ленно. Множественные запросы на перерисовку, которые поступают за краткий период времени, MOryT быть слиты вместе AWT, так что upda te () вызывается лишь время от времени. Во мноrих ситуациях это может представлять проблему, включая вывод анимации, коrда существенно время обновления. Одним из решений этой проблемы может быть использование следующих форм repaint () : void repaint(long тaxDelay)
void repaint(long тaxDelay, int х, int у, int width, int height) Здесь тaxDelay указывает максимальное количество миллисекунд, которые MOryT пройти до Toro, как будет вызван update (). Однако следует иметь в виду, что если Bpeмя истечет прежде, чем системе удастся вызвать update () , этот метод не будет вызван.