#java #javafx-8
Вопрос:
У меня есть основная сцена, содержащая Pane
. Я загружаю разные сцены в соответствии с выбором в окне выбора. основным контроллером является :
@FxmlView("/fxml/calender.fxml")
@RequiredArgsConstructor
@Component
public class CalenderController implements Initializable {
private final DailyController dailyController;
@FXML
private ChoiceBox<String> calChoiceBox;
@FXML
private Pane mPane;
@FXML
private ChoiceBox<String> tillChoiceBox;
@FXML
private Pane tillPane;
@FXML
private Button saveBtn;
private Pane repeatPane;
private TextField noOfTimes;
private final String[] repeatList = {"التكرار يوميا", "التكرار أسبوعيا", "التكرار شهريا", "التكرار سنويا"};
@Override
public void initialize(URL url, ResourceBundle resourceBundle) {
calChoiceBox.getItems().addAll(repeatList);
calChoiceBox.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, newValue) -> {
try {
if (newValue.equals("التكرار يوميا")) {daily();}
} catch (IOException e) {
e.printStackTrace();
}
});
}
public void daily() throws IOException {
FXMLLoader loader = new FXMLLoader();
repeatPane = loader.load(getClass().getResource("/fxml/daily.fxml"));
mPane.getChildren().setAll(repeatPane);
saveBtn.setOnAction(event -> {
String s = dailyController.getNotxtfiled();
System.out.println(s);
});
}
}
и второй контроллер-это DailyController
@Component
@RequiredArgsConstructor
public class DailyController implements Initializable {
@FXML
private TextField notxtfiled ;
private String text;
@Override
public void initialize(URL url, ResourceBundle resourceBundle) {
getNotxtfiled();
}
public String getNotxtfiled() {
try{
text = notxtfiled.getText();
}
catch (NullPointerException e){
System.out.println(e.getMessage());
}
return text;
}
}
поэтому мне нужно получить файл daily.fxml
notxtfiled после нажатия кнопки «Сохранить» в другом месте
После запуска приложения, ввода некоторого текста и нажатия кнопки я получил нулевое исключение. Как это исправить?