уведомление о завершении рисования Swing - PullRequest
0 голосов
/ 06 января 2012

Как правильно получать уведомления после завершения рисования апплета Swing? Я пишу некоторый временной код, чтобы измерить, сколько времени занимает апплет, и хочу включить время для отображения любой графики.

В конце моего метода init (), который выполняет все рисование, я передал Runnable в SwingUtilities.invokeLater, который спал в течение 10 секунд. Я видел задержку до отображения графики. Я думал бы, что задержка произойдет после графики, так как я понял, что она будет поставлена ​​в очередь после вызовов рисования. Я попытался переместить этот код теста сна в start () и получил те же результаты.

Основываясь на моем тестировании с предупреждением javascript, выясняется, что событие onload, помещенное в тег HTML-тела, также запускается до рисования графики.

1 Ответ

4 голосов
/ 06 января 2012

Обычно метод init() инициализирует компоненты / макет апплета.Фактическое рисование выполняется с помощью paint().

. Вы можете переопределить метод paint(), вызвав super.paint(..) и добавив в него свой собственный код:

public void paint(Graphics g) {
   super.paint(g);
   // Add your code
}

Задержкаэто происходит потому, что Runnable, который вы передаете SwingUtilities.invokeLater(), вызывается где-то между init() и paint()

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