我正在尝试使用帆布使用双重缓冲,这是我从未做过的事情。我利用了在线教程的优势,并设置了以下代码来实例化画布并为其设置缓冲。我对完整的过程进行了编码,包括渲染图形(此处未显示),并且编译器接受它。

 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();

但是该程序在下面的代码中的标记行中吹了起来。运行时会引发非法状态异常,并用“组件必须具有有效的对等式”的说明。

据我所知,源代码本质上是我在几个示例中看到的,因此我不知道这里发生了什么。任何帮助将不胜感激。

谢谢,

约翰·唐纳

有帮助吗?

解决方案

组件必须具有有效的同伴”。

这基本上意味着您的GUI不可见,或者您还没有将组件添加到可见的GUI中。

您在论坛上的其他问题处理摇摆申请。您不应在摆动应用程序中使用AWT组件(画布)。在JCOMPONENT或JPANEL上进行自定义绘画。默认情况下,秋千是双重缓冲的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top