Я создаю настольную игру на JavaFx, и она отлично работает на моем настольном ПК с экраном 1920x1080. Когда я пытаюсь открыть его на своем ноутбуке (который тоже имеет разрешение 1920x1080, но с размером экрана по умолчанию 125%), он перестает работать). Единственный способ заставить приложение работать — запустить его на экране 1920x1080 с размером экрана по умолчанию 100 %.
Мне нужен способ масштабировать всю сцену до нужного разрешения
Это мой Main.java:
public class Main extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) throws IOException {
final double WIDTH = Toolkit.getDefaultToolkit().getScreenSize().getWidth();
final double HEIGHT = Toolkit.getDefaultToolkit().getScreenSize().getHeight();
Parent board = FXMLLoader.load(getClass().getResource("/board.fxml"));
Pane innerBoard = ((Pane)board.getChildrenUnmodifiable().get(0));
Assert.assertCmp(innerBoard.getId(), "BOARD");
Scene scene = new Scene(board, WIDTH, HEIGHT);
scene.getStylesheets().add(getClass().getResource("/style.css").toExternalForm());
primaryStage.setScene(scene);
primaryStage.setFullScreen(true);
primaryStage.setResizable(true);
innerBoard.setVisible(false);
primaryStage.setFullScreenExitHint("");
primaryStage.show();
innerBoard.setVisible(true);
}
}
Это FXML:
Подробнее здесь: https://stackoverflow.com/questions/786 ... avafx-game