Это просто, вам нужно объявить статическую переменную, подобную этой, в FIRST Controller
static String alertTYPE;
Затем в нашем коде проверки ERROR мы даем alertTYPE значение
if(txtAmount.getLength() == 0){
alertTYPE = "1";
customAlert();
txtAmount.requestFocus();
return;
}
Теперь мы вызываем метод customAlert (), который все еще находится в том же классе контроллера.
Это код метода customAlert
public void customAlert() throws IOException{
// This method displays the MODAL Alert alert.fxml and it is controlled by AlertController
// =========================================================================================
alertPane = FXMLLoader.load(getClass().getResource("alert.fxml"));// pane you are GOING TO
//Scene Sscene = new Scene(merrorPane, 600, 400);
// NO NEED TO RE-SIZE but this is code to change size
Scene Mscene = new Scene(alertPane);
Mstage = new Stage();
Mstage.initStyle(StageStyle.UNDECORATED);
Mstage.setResizable(false);
Mstage.initModality(Modality.APPLICATION_MODAL);
Mstage.setScene(Mscene);
Mstage.showAndWait();
}
Здесь, в AlertController, мы используем значение alertTYPE
@Override
public void initialize(URL url, ResourceBundle rb) {
if(alertTYPE.equals("1")){
lblMessage.setText("Enter "+type+" Amount");
}else if(alertTYPE.equals("2")){
Вы должны быть уверены, что контроллер, который вы собираетесь импортировать, статической переменной alertTYPE, как это
import static checkbook.CBManagerController.alertTYPE;
Это было далеко, но мы надеемся,Вы получаете идею
Одно слово предостережения, когда статические переменные объявлены и им присвоено значение, которое сохраняется до тех пор, пока переменная не получит новое значение или пока вы не установите ничего подобного для String alertTYPE = "";С большой силой приходит большая ответственность, ха-ха