如何调整 WorldWind 面板的大小?

How to resize WorldWind Panel?

我想将 WorldWindowGLJPanel 放入窗格中,并且我想 使其可调整大小 ,但我不能,即使我调用 resizesetSize 方法。

这是我在做什么 :

wwd = new WorldWindowGLJPanel();
wwd.setPreferredSize(new java.awt.Dimension(300, 300));
wwd.setModel(new BasicModel()); 

swingNode = new SwingNode(); 
swingNode.setContent(wwd); 

wwdPane = new Pane();
wwdPane.getChildren().add(swingNode); 

那我就用这个wwdPane来显示世界风

我希望我的 world wind panel 具有包含它的窗格的大小,并且我想让这个 world wind panel 可调整大小。

我考虑过使用 setSize(PaneDimenson)paneworld wind panel 的大小设置为 setSize(PaneDimenson),然后 将 worldwindpanel 的大小与窗格绑定 ,但是 setSize 函数 不起作用 .

EDIT :我找到了一个替代解决方案,不使用窗格,而是直接使用 swingNode,调整大小现在是自动的。但是如果要用pane还是有问题,只能强行用group了。

setSize 有效,试试这个代码:

scene.widthProperty().addListener(new ChangeListener<Number>() {
   @Override public void changed( ObservableValue<? extends Number> o, Number b, Number a ) {
      Platform.runLater(new Runnable() {
         public void run() {
            wwd.setSize((int)(a.intValue()*0.5), wwd.getHeight());
         }
      });

或与Java8

scene.widthProperty().addListener((o,b,a)->Platform.runLater(()->
   wwd.setSize((int)(a.intValue()*0.5), wwd.getHeight())));

但是我无法在我的示例代码中调整大小,因为 SwingNode 不知何故弄乱了调整大小,我认为你应该尝试建议的解决方案 here