我正在用JavaFX 2.2.7-b01編寫一個應用程序。如何使javafx.scene.Scene調整大小,同時保持縱橫比?
這裏是我現在有的代碼的一個例子。我如何允許調整應用程序窗口大小,但保持最初配置的寬高比?換句話說,如果用戶調整窗口大小,窗口寬度應該總是保持窗口高度的兩倍。
...
public void showScene(Stage stage, String fxmlPath) {
try {
FXMLLoader loader = new FXMLLoader();
loader.setBuilderFactory(new JavaFXBuilderFactory());
loader.setLocation(fxmlPath);
Parent page;
try (InputStream in = Main.class.getResourceAsStream(fxmlPath)) {
page = (Parent) loader.load(in);
}
Scene scene = new Scene(page, 400, 200);
stage.setScene(scene);
stage.sizeToScene();
stage.show();
} catch (Exception ex) {
...
}
}
...
看來JavaFX的允許用戶指定在構造場景的寬度和高度,但不會允許編程訪問更新的寬度或高度。沒有setWidth或setHeight方法。我知道我可以添加屬性監聽器來獲取場景的寬度/高度,只能調整大小,但是我無法弄清楚如何動態更改場景尺寸,所以我可以強制縱橫比保持。
我想如果我是子類的場景對象(如果我必須我會),但有沒有其他簡單的方法來做到這一點?
我不認爲你會發現這個使用JavaFX 2.2體面的解決辦法。我建議記錄針對[JavaFX問題跟蹤器](https://javafx-jira.kenai.com)的功能請求。 – jewelsea 2013-05-15 07:48:12