2

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

4

1 回答 1

0

我已经使用 NetBeans Platform (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。

于 2011-10-03T03:22:31.140 回答