![](/img/trans.png)
[英]Unable to use Worldwind components in Topcomponent on the NetBeans 8.0 Platform
[英]WorldWind Java on a Netbeans Platform TopComponent
我正在尝试为位于Netbeans平台TopComponent(使用netbeans 7.0)上的WorldWind Java(1.2版)添加一个层。 TopComponent处于编辑器模式,对于WWJ,我使用WorldWindowGLCanvas,它是TopComponent上的单个挥杆组件,并与BorderLayout.CENTER一起放置。 如果我使用构造函数添加各层,则一切正常,我可以看到各层都很好。 如果使用挥杆控件(例如按钮)添加图层,则该图层将添加到图层列表中,但不会渲染。 WMS和可渲染层均会发生这种情况。 在纯挥杆应用程序上执行相同的过程也很好,这使我相信WWJ中的呈现过程与TopComponent绘画有某种冲突。 任何帮助将不胜感激。
我已经使用带有gov.nasa.worldwind.awt.WorldWindowGLCanvas
和gov.nasa.worldwindx.examples.LayerPanel
NetBeans Platform(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。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.