Переместить приложение во второй монитор окна в javafx - PullRequest
1 голос
/ 07 мая 2019

Я писал приложение java FX.У меня есть два монитора, подключенных к одному компьютеру.Я хотел открыть приложение во втором окне монитора.как-то мне удалось сделать это с vbox, не загружая внутри них компоненты.Но когда я пытаюсь загрузить свое представление fxml в Parent, оно вообще не реагирует.Я был в восторге от ответа stackoverflow `

Выберите, какой монитор открывает окно JavaFX в

Но когда вы попытаетесь загрузить fxml, просмотрите егоне реагирует почему?Как я могу заставить это работать?вот мой код

@Override
public void start(Stage primaryStage) throws Exception
{
    AnchorPane root = FXMLLoader.load(getClass().getClassLoader().getResource("order_state_modal.fxml"));
    primaryStage.setTitle("Jasmin");
    Scene scene = new Scene(root);
    int ind = 1;
    for(Screen screen : Screen.getScreens())
    {
        Rectangle2D bounds =    screen.getVisualBounds();
        if(ind == 2)
        {
            primaryStage.setX(bounds.getMinX());
            primaryStage.setY(bounds.getMaxY());
        }
        ind ++;
    }

    primaryStage.setMaximized(true);
    primaryStage.setScene(scene);
    primaryStage.show();
}

`

1 Ответ

0 голосов
/ 07 мая 2019

Я нашел его ответ со следующим кодом

    AnchorPane root = new AnchorPane();
    Scene scene = new Scene(root);
    int index = 1;
    for (Screen screen : Screen.getScreens()) {
        Rectangle2D bounds = screen.getVisualBounds();

            if(index == 2)
            {
            primaryStage.setX(bounds.getMinX());
            primaryStage.setY(bounds.getMinY());
            }
        index ++;
    }
    root.getChildren().add(FXMLLoader.load(getClass().getClassLoader().getResource("order_state_modal.fxml")));
    primaryStage.setMaximized(true);
    primaryStage.setScene(scene);
    primaryStage.show();
...