2016-05-19 2 views
2
@FXML 
private void opensettings(ActionEvent event) throws IOException { 
    Stage stage = null; 
    Parent root = null; 

    if(event.getSource() == settings && stage.isFullScreen() == true){ 
     stage = (Stage)settings.getScene().getWindow(); 
     root = FXMLLoader.load(getClass().getResource("fxml/Settings.fxml")); 
     stage.setScene(new Scene(root)); 
     stage.setTitle("Settings"); 
     stage.setFullScreen(true); 
    } 
} 

Я не знаю, как проверить, работает ли мой текущий кадр в полноэкранном режиме или нет. Выше мой текущий код Java.Java - Как проверить, находится ли моя сцена в полноэкранном режиме?

+0

Не работает 'stage.isFullScreen()'? –

+0

Нету его высказывание: Вызванный: java.lang.NullPointerException \t на sample.OpenController.opensettings (OpenController.java:75) \t ... 58 более –

+0

Вы звоните 'stage.isFullScreen()' перед инициализацией этапа ? –

ответ

-3

Как вы можете видеть в documentation, Stage является Window но Window не знает ничего о своем подклассе Stage. Вы должны прочитать this question, если хотите узнать о повышении и понижении. В вашем случае Window был сконструирован как Stage, но был сохранен как Window, поэтому все поля Stage являются недействительными.

Заключение: не опускайте, если вы неопытный. Вообще.

Смежные вопросы