コードでオブザーバブルを使用しようとしていますが、この問題が発生して苦労しています。
public class observeState extends Observable
{
public void setSelectedTransaction(int idx)
{
if (selectedTransaction != idx)
{
this.selectedTransaction = idx;
setChanged();
notifyObservers("setSelectedTransaction");
System.out.println("Observers : "+this.countObservers());
}
}
public void setLog(Log log)
{
if(theLog != log) {
theLog = log;
System.out.println(theLog.getLogTransactions().size() + "setLog");
setChanged();
notifyObservers("setLog");
System.out.println("Observers : "+this.countObservers());
}
}
このオブザーバブル クラスを監視する 2 つのオブザーバーがあり、テスト行「Observers : 2」でメソッドが呼び出されるとnotifyObservers
送信されます。setSelectedTransaction
ただし、次の方法setLog
では、「Observers : 0」を与えるオブザーバーがないようです。観察可能なメソッドを一度しか使用できないとは思いません。