Netbeans平台TopComponent上的WorldWind Java

时间:2011-10-01 11:32:39

标签: netbeans worldwind

我正在尝试向位于Netbeans平台TopComponent上的WorldWind Java(版本1.2)添加一个图层(使用netbeans 7.0)。 TopComponent处于编辑器模式,对于WWJ,我使用WorldWindowGLCanvas,它是TopComponent上的单个swing组件,它与BorderLayout.CENTER一起放置。 如果我使用构造函数添加图层一切正常,我可以看到图层很好。如果我使用swing控件(例如按钮)添加图层,则图层会添加到图层列表中,但不会渲染。对于WMS和可渲染层都会发生这种情况。 纯摆动应用程序上的相同过程工作正常,这让我相信WWJ中的渲染过程与TopComponent绘画有某种冲突。 非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

我使用带有gov.nasa.worldwind.awt.WorldWindowGLCanvasgov.nasa.worldwindx.examples.LayerPanel

的NetBeans平台(7.0.1)设置了演示

初始化代码:

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以呈现新图层。