Тема: Canvas
Показать сообщение отдельно
Старый 26.02.2009, 18:57   #1
Serg_Bloim
AnyKey`щик
 
Регистрация: 30.11.2008
Сообщений: 18
Написано одно полезное сообщение
Canvas

Кто может объяснить, какая связь между методами KeyPressed(int) и paint(Graphics) класса Canvas?
У меня вот какая проблема: При событии нажатия на клавишу, в методе KeyPressed(int), я вызываю перересовку одной части экрана, и сразу же перерисовку другой части экрана. На практике выходит, что перерисовывается только вторая часть. Долго ломал голову, пока не прошел программу отладчиком. Выходит вот какая странная штуковина, если в методе KeyPressed(int) вызвать пару раз метод repaint(); То на самом деле метод paint(Graphics) вызывается только один раз, по завершению метода KeyPressed(int). Поэтому у меня на экране и отрисовывались только последние изменения. Так что же происходит внутри этого Canvasa, почему paint вызывается только после выхода из KeyPressed и как можно/можно ли это исправить?
(Offline)
 
Ответить с цитированием