WorldWind Java在Netbeans平台的TopComponent



我正试图在位于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.WorldWindowGLCanvasgov.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

编辑:我意识到我的回答不是很有帮助,所以我想添加一个建议来补救。你可以尝试使TopComponent无效,并在需要渲染新图层时调用repaint。

相关内容

  • 没有找到相关文章

最新更新