如何调整WorldWind Panel的大小?

Eva*_*eil 13 resize javafx worldwind

我想把它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); 
Run Code Online (Sandbox Code Playgroud)

然后我用它wwdPane来显示World Wind.

我希望我world wind panel的窗格大小包含它,我想让它可以world wind panel调整大小.

我想过给大小我world wind panel我的panesetSize(PaneDimenson),然后我worldwindpanel的大小与我的窗格中结合,但setSize功能不工作.

编辑:我通过不使用窗格找到了替代解决方案,但直接使用swingNode,调整大小现在是自动的.但是如果你想使用一个窗格仍然存在问题,那么你就强迫使用一个组.

gaR*_*Ros 0

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());
         }
      });
Run Code Online (Sandbox Code Playgroud)

或使用Java8

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

但我无法在示例代码中进行调整大小工作,因为 SwingNode 不知何故弄乱了调整大小,我认为您应该尝试此处建议的解决方案。