我实例化一个“ patientModel”,并希望使用Controller类来调用PatientModel.getPatientIdentification并将其显示在View类中。
我在第一个到达的控制器中实例化模型,并调用getPatientIDentification。然后,我切换到另一个控制器并查看,并希望执行相同的操作,但是该实例不会继承。
public class patientModel {
public static databaseConnectorController patientModel;
// Klassen har attributterne fornavn, efternavn og cpr-nummer
private String firstName;
private String lastName;
private String CPRNumber;
public patientModel(String firstName, String lastName, String CPRNumber){
this.setFirstName(firstName);
this.setLastName(lastName);
this.setCPRNumber(CPRNumber);
}
public String getPatientIdentification() {return firstName + " " + lastName + ", CPR: " + CPRNumber;}
}
在第一个控制器中:
@Override
public void initialize(URL location, ResourceBundle resources) {
System.out.println("Initialiser medicineList");
patientModel chosenPatient = new patientModel("Tobias", "Duncker", "3003965678");
IDTitledPaneMedicineList.setText(chosenPatient.getPatientIdentification());
}
在第二个控制器中,出现问题:
@Override
public void initialize(URL location, ResourceBundle resources) {
System.out.println("Initialiser prescriptionView");
IDTitledPanePrescription.setText(chosenPatient.getPatientIdentification());
}
答案 0 :(得分:0)
我最终通过在我的PatientModel上实现了Singleton模式来解决了这个问题。这确保了我可以从所有其他类中获取getInstance,从而确保它始终获得PatientModel可能存在的唯一实例,从而确保我永远不会得到错误的实例(因为只有一个实例)。