Стратегия буфера Java: компилятор не нравится это

StackOverflow https://stackoverflow.com/questions/4306101

  •  29-09-2019
  •  | 
  •  

Вопрос

Я пытаюсь использовать двойную буферизацию с холстом, что-то, чего я никогда не делал раньше. Я воспользовался преимуществами учебников онлайн и настроил следующий код для создания холста и настроить буферизацию для него. Я закодировал полный процесс, включая графики рендеринга (не отображаемых здесь), а компилятор принимает его.

 volCanvas = new VolCanvas();
 volCanvas.setBackground(Color.black);
 volCanvas.setBounds(10, 380, 1180, 125);
 add(volCanvas);
 volCanvas.createBufferStrategy(2);            (Program blows up here)
 offScreen = volCanvas.getBufferStrategy();
 ofsg = (Graphics2D) offScreen.getDrawGraphics();

Но программа дует на помещенной линии в коде ниже. Время выполнения бросает исключение нелегального состояния, причем пояснение компонента должна иметь действительный свертчик ».

Насколько я могу сказать, исходный код по сути, по сути, как я видел его в нескольких примерах, поэтому у меня нет подсказки, что происходит здесь. Любая помощь будет очень ценится.

Спасибо,

Джон Донер

Это было полезно?

Решение

Компонент должен иметь действительный свертчик ».

Он в основном означает, что ваш графический интерфейс не виден или вы не добавили свой компонент на видимый графический интерфейс.

Ваши остальные вопросы на форуме имеют дело с качающимися приложениями. Вы не должны использовать компонент AWT (Canvas) в приложении Swing. Сделайте заказ на заказ на jcomponent или jpanel. Качели по умолчанию дважды буферируются.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top