Стратегия буфера Java: компилятор не нравится это
-
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. Качели по умолчанию дважды буферируются.