При переопределении метода paintComponent компонента Swing, когда графический объект НЕ рисует по всей поверхности компонента (например, просто g2.rotate (0.3) покажет вам как окрашенные, так и неокрашенные части) неокрашенные части компонента заполняются цветами мусора из изображения заднего буфера.
Если я отключаю двойную буферизацию из RepaintManager, мусор не появляется, а неокрашенные части отображаются прозрачными, но все выглядит как дерьмо из-за перерисовки и отсутствия буферизации.
Даже если я использую объект g2 в paintComponent, чтобы установить альфа на 50%, я по-прежнему вижу буферизованный мусор через прозрачность.
Я пытался отключить двойную буферизацию на одном компоненте, но там тоже нет кубиков.
Эта проблема задокументирована в других местах, например здесь: http://www.java.net/node/689238
... но, похоже, нет способа исправить это повреждение буфера ... У кого-нибудь есть идеи?
Кроме того, в системе Windows смена темы на «Классическая» решит эту проблему ... Может быть, это проблема ОС?
Спасибо!