Java repaint () / update () - PullRequest
       2

Java repaint () / update ()

1 голос
/ 21 февраля 2012

просто работает над некоторым кодом, связанным с графикой Java, очень простой пример из моей сегодняшней лекции. В любом случае, Интернет, кажется, говорит, что обновление не будет вызываться системным триггером, таким как изменение размера фрейма и т. Д. В этом примере обновление вызывается таким триггером (поэтому update и paint вызываются, когда я ожидаю, что вызовет только paint ). Похоже, он объяснил это операционными системами и разными результатами на каждом.

Кто-нибудь может уточнить это для меня?

Работа на windows 7

Заранее спасибо

Ben

1 Ответ

0 голосов
/ 21 февраля 2012

Вот отличная статья, которая действительно все говорит:

http://java.sun.com/products/jfc/tsc/articles/painting/

1) Покраска в AWT

Чтобы понять, как работает API рисования AWT, нужно знать, что запускает операцию рисования в оконной среде. В AWT есть два вида операций покраски: системная покраска и прикладной живописи.

2) Системно-ориентированная окраска

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

  • Компонент впервые отображается на экране.

  • Размер компонента изменен.

  • Компонент имеет повреждения, которые необходимо отремонтировать. (Например, то, что ранее скрывало компонент, переместилось, и ранее закрытая часть компонента стала открытой).

3) Живопись, запускаемая приложением

В операции рисования, запускаемой приложением, компонент решает ему нужно обновить его содержимое, потому что его внутреннее состояние изменилось. (Например, кнопка обнаруживает, что кнопка мыши была нажата и определяет, что нужно нарисовать «нажатую» кнопку визуальный).

4) Метод рисования

Независимо от того, как запускается запрос на рисование, AWT использует «Обратный» механизм для рисования, и этот механизм одинаков для как тяжелые, так и легкие компоненты. Это означает, что программа должен разместить код рендеринга компонента внутри определенного переопределенный метод, и инструментарий вызовет этот метод, когда он время рисовать.

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