У меня проблема с изменением размера рабочей области с помощью метода sizeToScene в javafx.
Если я изменю размер корневого узла выше максимального размера экрана и вызову sizeToScene, окно хорошо изменит размер до максимально возможного размера экрана.
Но если я вспоминаю sizeToScene, сцена становится больше, чем сцена, и приложение обрезается.
Иногда первый вызов приводит к тому же поведению, что и последний описанный.
Я не знаю, является ли это нормальным поведением, и есть ли обходное решение для корректировки размера сцены в соответствии с размером сцены.
То же самое произошло в Linux и Windows.
Пример ниже
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.stage.Stage;
public class SceneSizeBug extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception {
Button button = new Button("test");
button.setOnAction(e -> {
button.setPrefSize(2000, 2000);
primaryStage.sizeToScene();
});
button.setPrefSize(1280, 1024);
Scene s = new Scene(button, -1, -1);
primaryStage.setScene(s);
primaryStage.show();
}
}