如何调整 WorldWind 面板的大小?
How to resize WorldWind Panel?
我想将 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);
那我就用这个wwdPane
来显示世界风
我希望我的 world wind panel
具有包含它的窗格的大小,并且我想让这个 world wind panel
可调整大小。
我考虑过使用 setSize(PaneDimenson)
将 pane
的 world 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。
我想将 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);
那我就用这个wwdPane
来显示世界风
我希望我的 world wind panel
具有包含它的窗格的大小,并且我想让这个 world wind panel
可调整大小。
我考虑过使用 setSize(PaneDimenson)
将 pane
的 world 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。