Двойная буферизация с awt

Удваивает буферизацию (в Java) возможный с awt? В настоящее время я знаю, что колебание не должно использоваться с awt, таким образом, я не могу использовать BufferStrategy и этажерку (у меня уже есть некоторый код, написанный в awt, который я не хочу переписывать в колебании).

Если двойная буферизация возможна с awt, я должен записать буфер вручную? В отличие от колебания, awt, кажется, не имеет ту же встроенную возможность двойной буферизации.

Если я действительно должен написать код вручную, есть ли хорошее учебное руководство для взгляда на? Или для программиста новичка просто более легко/желательно использовать колебание вместо этого?

Извините за многоступенчатый вопрос. Спасибо за внимание :)

7
задан exodrifter 16 May 2010 в 20:35
поделиться

1 ответ

На этот вопрос легко найти ответ в Интернете. Просто наберите в поисковике "double buffer awt" и вы найдете множество примеров. Вы даже можете посмотреть старый пример, который я сам написал в 1998 году на Java 1.0 AWT. Вам просто нужно создать свой собственный объект Graphics и рисовать на Image, а затем выводить это изображение на холст. Вот ключевой фрагмент кода в моем примере:

  public void paint(Graphics g) {
    if (doubleBuffer) {
      paintSky(top.gBuf);
      g.drawImage(top.buf, 0, 0, this);
    } else {
      paintSky(g);
    }
  }
6
ответ дан 7 December 2019 в 09:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: