Вы можете использовать repaint(x,y,w,h)
, чтобы обновлять только часть компонента. Но на самом деле большинство Java-игр реализуют какую-то закадровую рисование (то есть они отображают всю сцену в растровое изображение) и периодически переворачивают весь этот растровый рисунок на экран.
Проблема со стандартным механизмом перерисовки Swing заключается в том, что у вас нет средств для точного контроля при рисовании нового кадра (перерисовка приводит к тому, что элемент управления перерисовывается «как можно быстрее» ...)
Возможно, вы захотите взглянуть на
для получения дополнительной информации / идей по разработке Java-игр.