如何调整WorldWind Panel的大小?

时间:2015-04-29 14:49:40

标签: javafx resize worldwind

我想将GetPreviewFrameAsync()放入一个窗格,我想使其可调整大小,但即使我拨打WorldWindowGLJPanelresize方法。

这是我正在做的事情

setSize

然后我使用此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); 来显示World Wind。

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

我考虑使用world wind panel为我world wind panel的{​​{1}}提供尺寸,然后将我的worldwindpanel的尺寸与我的窗格绑定,但是pane函数无法正常工作

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

1 个答案:

答案 0 :(得分: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());
         }
      });

或使用Java8

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

但是我无法在我的示例代码中调整大小,因为SwingNode以某种方式搞乱了调整大小,我认为你应该尝试建议here的解决方案。