УльтраДжон мертв. Вам нужно использовать Graphics
, который вы прошли. Продолжайте читать, почему ...
Java 1.6 представила RepaintManager
, которая поддерживает оптимизацию запросов на перерисовку. Имеет некоторые тонкие эффекты на живопись.
В этом случае вы работаете с несколькими объектами Graphics2D: g
передается в paintComponent
и значение, возвращаемое вызовом getGraphics
.
Менеджер по перекраске передал вам g
, на котором можно рисовать. Примечание: это рисует не на экране, а во временном буфере (при условии двойной буферизации по умолчанию).
В вызове paintComponent
вы рисуете графику, полученную из getGraphics
различных компонентов. Это обходит менеджер перерисовок и рисует прямо на небуферизованный дисплей.
Когда возвращается paintChildren
, RepaintManager
запускает обновление двойного буфера. Он закрашивает пустой временный буфер над отображаемым буфером, эффективно стирая то, что было нарисовано через графический объект, полученный из getGraphics