Отличия Java JFrame и JPanel от Repaint () - PullRequest
3 голосов
/ 14 июля 2011

Я играл с какой-то простой картиной Graphics2D, и мне очень помогло сообщество здесь.

Мне удалось разрешить мерцание из моих "упругих шаров", переместив код из основного класса JFrame в класс JPanel, который я затем добавил в класс JFrame, может кто угодноскажите мне, почему это так важно?

1 Ответ

5 голосов
/ 14 июля 2011

Когда вы рисуете в методе JComponent paintComponent (например, в JPanel), вы используете Swing, который использует двойную буферизацию при рисовании по умолчанию.Рисование непосредственно в методе рисования JFrame позволит только рисование типа AWT, поскольку JFrame напрямую наследует от Frame, контейнера с большим весом, и поскольку графика AWT по умолчанию не использует двойную буферизацию, что приведет к прерывистой анимации.

...