我正在尝试向位于 Netbeans 平台 TopComponent(使用 netbeans 7.0)上的 WorldWind Java(1.2 版)添加一个层。TopComponent 处于编辑器模式,对于 WWJ,我使用 WorldWindowGLCanvas,它是 TopComponent 上的单个摆动组件,它与 BorderLayout.CENTER 一起放置。如果我使用构造函数添加图层一切正常,我可以看到图层很好。如果我使用摆动控件(例如按钮)添加图层,则该图层会添加到图层列表中,但不会被渲染。WMS 和 Renderable 层都会发生这种情况。纯摇摆应用程序上的相同过程可以正常工作,这使我相信 WWJ 中的渲染过程在某种程度上与 TopComponent 绘画相冲突。任何帮助将不胜感激。
问问题
1462 次
1 回答
0
我已经使用 NetBeans Platform (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 组件,而是重量级组件。这与您的问题无关,但我忍不住指出。Swing 组件是gov.nasa.worldwind.awt.WorldWindowGLJPanel
编辑:我意识到我的回答不是很有帮助,所以为了解决这个问题,我会添加一个建议。您可以尝试使 TopComponent 无效并在需要渲染新图层时调用 repaint。
于 2011-10-03T03:22:31.140 回答