public void handle(ActionEvent event) {
ScrollPane sPane=paneItem();
scene = new Scene(sPane, 400, 600);
System.out.println(scene.getWidth()+","+scene.getHeight());
stage.setScene(scene);
System.out.println(scene.getWidth()+","+scene.getHeight());
stage.show();
System.out.println(scene.getWidth()+","+scene.getHeight()+","+stage.getWidth()+","+stage.getHeight());
}
после запуска этих кодов, результат:
400.0,600.0
400.0,600.0
410.0,610.0,416.0,639.0
размер окна теперь 416 * 639.почему ширина сцены неожиданно увеличилась на 10 после вызова stage.show()
?
и позже в другом методе:
private void mnt() {
...
mntButton.setOnAction(t -> {
System.out.println(completeMnt());
mntButton.setText("complete");
stage.setScene(new Scene(paneItem(),400,600));
System.out.println(scene.getWidth()+","+scene.getHeight()+","+stage.getWidth()+","+stage.getHeight());
});
}
результат:
410.0,610.0,406.0,629.0
здесь я попытался изменить содержимое сцены и сохранить размер без изменений, но размер окна сократился до 406 * 629
scene
и stage
- переменные класса.