Я пытался установить minWidth
и minHeight
сцены в методе start()
после вызова show()
, но мне кажется, getHeight()
вызова не включает в себя украшение, как это предполагается. Высота сцены такая же, как и корневая сцена.этапа GetHeight не включает в себя украшений
Документ предполагает, что этого не должно быть. Любая идея, что я делаю неправильно?
ОС: Ubuntu 16,04
public class Main extends Application {
@Override
public void start(Stage primaryStage) throws Exception{
Parent r = FXMLLoader.load(getClass().getResource("things.fxml"));
Scene root = new Scene(r);
primaryStage.setTitle("foo");
primaryStage.setScene(root);
primaryStage.sizeToScene();
primaryStage.centerOnScreen();
primaryStage.show();
// primaryStage.getHeight() and root.getHeight() are the same here!
// doc suggests that they are supposed to be different
primaryStage.setMinWidth(primaryStage.getWidth());
primaryStage.setMinHeight(primaryStage.getHeight());
}
public static void main(String[] args) {
launch(args);
}
}
Проблема в том, что я, кажется, не получаю ширину +16 и высоту +38, которую вы, кажется, получаете от украшения. Возможно, это ОС. – imbuedHope
Я никогда не использовал Ubuntu или, по крайней мере, запрограммировал его, поэтому я не могу быть уверен, что это причина! –
Возможно, я просто загрузил корень с определенной шириной и высотой и проверил размеры, украшения не были включены, когда я вызывал шоу, которое не является спецификацией. Также может быть плохая установка jdk. Ну что ж. – imbuedHope