我想将GetPreviewFrameAsync()
放入一个窗格,我想使其可调整大小,但即使我拨打WorldWindowGLJPanel
或resize
方法。
这是我正在做的事情:
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,调整大小现在是自动的。但是如果你想使用一个窗格仍然存在问题,你就会强行使用一个组。
答案 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的解决方案。