Netbeans平台TopComponent上的WorldWind Java

Netbeans平台TopComponent上的WorldWind Java,netbeans,worldwind,Netbeans,Worldwind,我正在尝试向位于Netbeans平台TopComponent(使用Netbeans 7.0)上的WorldWind Java(1.2版)添加一个层。 TopComponent处于编辑器模式,对于WWJ,我使用WorldWindowGLCanvas,它是TopComponent上的单个swing组件,并使用BorderLayout.CENTER放置。 如果我使用构造器添加层,所有的工作都很好,我可以看到层的罚款。如果我使用swing控件(例如按钮)添加层,则层会添加到层列表中,但不会渲染。WMS和

我正在尝试向位于Netbeans平台TopComponent(使用Netbeans 7.0)上的WorldWind Java(1.2版)添加一个层。 TopComponent处于编辑器模式,对于WWJ,我使用WorldWindowGLCanvas,它是TopComponent上的单个swing组件,并使用BorderLayout.CENTER放置。 如果我使用构造器添加层,所有的工作都很好,我可以看到层的罚款。如果我使用swing控件(例如按钮)添加层,则层会添加到层列表中,但不会渲染。WMS和可渲染层都会发生这种情况。 在纯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组件是
gov.nasa.worldwind.awt.WorldWindowGLJPanel


编辑:我意识到我的答案不是很有帮助,所以为了弥补这个问题,我会添加一个建议。您可以尝试使TopComponent无效,并在需要时调用repaint来渲染新层。

我已经使用NetBeans平台(7.0.1)和
gov.nasa.worldwind.awt.worldwindglcanvas
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组件是
gov.nasa.worldwind.awt.WorldWindowGLJPanel


编辑:我意识到我的答案不是很有帮助,所以为了弥补这个问题,我会添加一个建议。您可以尝试使TopComponent无效,并在需要时调用repaint来渲染新层。

问题在于查找—我们使用查找的方式—它创建了另一个WWJ实例—我们通过维护对WorldWindowGLCanvas的静态引用来解决。问题在于查找—我们使用查找的方式创建了另一个WWJ实例-我们通过维护对WorldWindowGLCanvas的静态引用来解决这个问题。