Javafx 如何调整WorldWind面板的大小?
我想把一个Javafx 如何调整WorldWind面板的大小?,javafx,resize,worldwind,Javafx,Resize,Worldwind,我想把一个WorldWindowGLJPanel放在一个窗格中,我想使它可以调整大小,但我不能,即使我调用resize或setSize方法 以下是我正在做的: 然后我用这个wwdPane来显示世界风 我希望我的世界风面板具有包含它的窗格的大小,并且我希望使此世界风面板可调整大小 我想用setSize(PaneDimenson)为我的窗格的世界风面板指定大小,然后将我的世界风面板的大小与我的窗格绑定,但setSize功能不起作用 编辑:我找到了一个替代解决方案,不使用窗格,而是直接使用swingN
WorldWindowGLJPanel
放在一个窗格中,我想使它可以调整大小,但我不能,即使我调用resize
或setSize
方法
以下是我正在做的:
然后我用这个wwdPane
来显示世界风
我希望我的世界风面板
具有包含它的窗格的大小,并且我希望使此世界风面板
可调整大小
我想用setSize(PaneDimenson)
为我的窗格的世界风面板
指定大小,然后将我的世界风面板的大小与我的窗格绑定,但setSize
功能不起作用
编辑:我找到了一个替代解决方案,不使用窗格,而是直接使用swingNode,现在可以自动调整大小。但是,如果要使用窗格,仍然存在问题,并且您必须使用组。设置大小正常,请尝试以下代码:
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());
}
});
但是我无法在我的示例代码中使调整大小工作,因为SwingNode不知怎么搞砸了调整大小,我认为您应该尝试建议的解决方案。问题来自SwingNode,但另一个主题中的解决方案对我不起作用……如果我使用组,则另一个主题的解决方案可以工作。我很高兴您解决了它,我没有别的想法。这个SwingNode特性只是为了向后兼容,我相信如果您没有编写一个基于swing的库,那么连接该库总是有风险的。
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());
}
});
scene.widthProperty().addListener((o,b,a)->Platform.runLater(()->
wwd.setSize((int)(a.intValue()*0.5), wwd.getHeight())));