Java: невозможно вызвать метод get экземпляра из другого класса, кроме того, где он был создан - PullRequest
0 голосов
/ 05 мая 2019

Я создаю экземпляр "PatientModel" и хочу использовать классы контроллера для вызова 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());
    }

1 Ответ

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

Я решил проблему, внедрив шаблон Singleton в моей модели пациента. Это гарантирует, что я могу получить Instance из всех других классов, что гарантирует, что он всегда получает единственный возможный экземпляр существования PatientModel, таким образом, гарантируя, что я никогда не получу неправильный экземпляр (так как есть только один).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...