Đối với một số lý do quan sát của tôi không được thông báo khi tôi gọi các phương pháp notifyObserver, sử dụng các đối tượng java.util.Observable:Java Observer Pattern không thông báo
đây là đối tượng quan sát của tôi:
public class ProjectManager extends Observable
{
...
public void updateProjects(String project, String pack, String source, String ARN)
{
...
if(newSource)
{
tempPack.add(tempSource);
System.out.println("Notify observers: " + this.countObservers());
this.notifyObservers();
}
...
}
tôi có thể thấy từ đầu ra của tôi rằng người quan sát đang được thêm vào nhưng không được thông báo.
và đối tượng quan sát của tôi trông như thế này:
public class IDE implements Observer
{
@Override
public void update(Observable o, Object arg) {
System.out.println("Notified");
}
Đối với một số lý do lạ lùng đối tượng quan sát được là không được thông báo gì cả. Tôi có làm gì sai ở đây không?
+1. Một lý do khác để không thích thực hiện 'Observable' của Java. –
bit của một gotcha lớn nhưng tôi đoán nó có thể có ý nghĩa từ một quan điểm giao dịch. –