私はここに誰かが助けてくれることを願っています。私はObserver Design Pattern、Threading、そして私がやっているプロジェクトにどうやって両方を使うことができるかを考えています。Java - このようにObserver Patternとスレッドを使用することは可能ですか?
私は現在、両方をMedia Playerで実装する必要があります。私はJava FXを使用してビルドしています。
私は自分のディレクトリ内のファイルのによりgetNames機能によって移入(私のリストビューを更新するために、それらの両方を使用する必要があります。私は、GUI上ですぐに反映させるために曲の私のフォルダへの変更を必要とする。
がそれです可能であれば、実行中のスレッドが常にgetNames関数を呼び出して(items変数を返す)、items変数に変更があった場合、Observerパターンを使用してGUIクラスにそのリストを更新することができます。
私は、スレッドが絶えず機能にぶつかっている可能性があることを知っていますが、Observerパターンを使用して項目が変更されたかどうかを通知できるかどうかについてのアドバイスが必要です。
私はまだこれを実装する方法を理解しようとしているので、表示するコードはありません。
アイデア?
何かアドバイスをありがとうございます。感謝:)
UPDATEかなり長い時間が経過した後
、スレッドとオブザーバpattermでの作業、これを手に入れました。 WatchServiceは必要ありませんでした。変更メソッドのチェックを常に呼び出すためにスレッドを使用しました。その後メソッドが戻ってきた場合、ObserverがGUIを更新するために起動しました。
あなたはこれができない可能性がありますと思わせる何か? – John3136
これは可能ですが、面倒でエラーが発生する可能性があります。 'SwingWorker'がスレッド間で共有されるデータへのアクセスを同期させることを考慮してください。 – trashgod
Observorがファイルの変更を検出してlistViewを変更する方法について、本当に苦労しています。 –