我正试图在位于Netbeans平台TopComponent(使用Netbeans 7.0)上的WorldWind Java(版本1.2)添加一个层。TopComponent处于编辑器模式,对于WWJ,我使用WorldWindowGLCanvas,这是TopComponent上的单个摆动组件,它与BorderLayout.CENTER一起放置。如果我使用构造函数添加图层,一切正常,我可以看到图层。如果我使用摇摆控件(例如按钮)添加图层,则图层会添加到图层列表中,但不会渲染。这发生在WMS和Renderable层。同样的过程在纯swing应用程序上工作得很好,这使我相信WWJ中的渲染过程在某种程度上与TopComponent绘画相冲突。任何帮助,我都非常感激。
我已经设置了一个使用NetBeans平台(7.0.1)与gov.nasa.worldwind.awt.WorldWindowGLCanvas
和gov.nasa.worldwindx.examples.LayerPanel
的演示
private void initComponents() {
canvas = new WorldWindowGLCanvas();
Model model = (Model) WorldWind.createConfigurationComponent(AVKey.MODEL_CLASS_NAME);
canvas.setModel(model);
layerPanel = new LayerPanel(canvas);
setLayout(new BorderLayout());
add(canvas, BorderLayout.CENTER);
add(layerPanel, BorderLayout.WEST);
}
private WorldWindowGLCanvas canvas;
private LayerPanel layerPanel;
这与单独运行示例的工作原理相同,所以我会说问题不在于NetBeans平台。如果没有任何代码,很难说出哪里出了问题。
请注意,gov.nasa.worldwind.awt.WorldWindowGLCanvas
不是Swing组件,而是一个重量级组件。这与你的问题无关,但我不得不指出来。Swing分量为gov.nasa.worldwind.awt.WorldWindowGLJPanel